https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99479
--- Comment #17 from Andrew Pinski <pinskia at gcc dot gnu.org> --- ==20277== Invalid write of size 8 ==20277== at 0xB1C11C: name_lookup::search_unqualified(tree_node*, cp_binding_level*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB1DE2D: lookup_name(tree_node*, LOOK_where, LOOK_want) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB2F229: cp_parser_lookup_name(cp_parser*, tree_node*, tag_types, bool, bool, bool, tree_node**, unsigned int) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB5ADF8: cp_parser_template_name(cp_parser*, bool, bool, bool, tag_types, bool*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB5B409: cp_parser_template_id(cp_parser*, bool, bool, tag_types, bool) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB5BD6B: cp_parser_class_name(cp_parser*, bool, bool, tag_types, bool, bool, bool, bool) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB5271E: cp_parser_nested_name_specifier_opt(cp_parser*, bool, bool, bool, bool, bool) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB76BF0: cp_parser_template_introduction(cp_parser*, bool) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB79543: cp_parser_declaration(cp_parser*, tree_node*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB789F9: cp_parser_declaration_seq_opt(cp_parser*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB78E64: cp_parser_namespace_definition(cp_parser*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB79587: cp_parser_declaration(cp_parser*, tree_node*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== Address 0x5ef55f8 is 8 bytes inside a block of size 136 free'd ==20277== at 0x4C33D2F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==20277== by 0x21A1640: xrealloc (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB12E5A: name_lookup::queue_namespace(vec<std::pair<tree_node*, tree_node*>, va_heap, vl_embed>*, int, tree_node*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB12D50: name_lookup::queue_namespace(vec<std::pair<tree_node*, tree_node*>, va_heap, vl_embed>*, int, tree_node*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB1C0BA: name_lookup::search_unqualified(tree_node*, cp_binding_level*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB1DE2D: lookup_name(tree_node*, LOOK_where, LOOK_want) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0x9C527D: build_op_delete_call(tree_code, tree_node*, tree_node*, bool, tree_node*, tree_node*, int) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB24CDA: build_delete_destructor_body(tree_node*, tree_node*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB26C3C: maybe_clone_body(tree_node*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xAE1CC6: post_load_processing() (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB0BDE8: lazy_load_pendings(tree_node*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB14368: get_class_binding(tree_node*, tree_node*, bool) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== Block was alloc'd at ==20277== at 0x4C33D2F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==20277== by 0x21A1640: xrealloc (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB12E5A: name_lookup::queue_namespace(vec<std::pair<tree_node*, tree_node*>, va_heap, vl_embed>*, int, tree_node*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB12D50: name_lookup::queue_namespace(vec<std::pair<tree_node*, tree_node*>, va_heap, vl_embed>*, int, tree_node*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB1C0BA: name_lookup::search_unqualified(tree_node*, cp_binding_level*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB1DE2D: lookup_name(tree_node*, LOOK_where, LOOK_want) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB2F229: cp_parser_lookup_name(cp_parser*, tree_node*, tag_types, bool, bool, bool, tree_node**, unsigned int) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB5ADF8: cp_parser_template_name(cp_parser*, bool, bool, bool, tag_types, bool*) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB5B409: cp_parser_template_id(cp_parser*, bool, bool, tag_types, bool) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB5BD6B: cp_parser_class_name(cp_parser*, bool, bool, tag_types, bool, bool, bool, bool) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB5271E: cp_parser_nested_name_specifier_opt(cp_parser*, bool, bool, bool, bool, bool) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus) ==20277== by 0xB6A917: cp_parser_simple_type_specifier(cp_parser*, cp_decl_specifier_seq*, int) (in /home/apinski/upstream-gcc/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/cc1plus)