https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96438
Bug ID: 96438 Summary: [10/11 Regression] ICE in do_pushtag, at cp/name-lookup.c:6861 Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: error-recovery, ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: haoxintu at gmail dot com Target Milestone: --- Hi, all. This code, reduced by C-Vise, makes GCC-trunk ICE, while GCC-10 and downwards versions behave well in error-recovery. Input: //small.cc class A { template <class> void foo (int (operator struct { union :}); } Command: g++ small.cc Output: small.cc:3:40: error: types may not be defined in a conversion-type-id 3 | void foo (int (operator struct { union :}); | ^ small.cc:3:42: internal compiler error: in do_pushtag, at cp/name-lookup.c:6861 3 | void foo (int (operator struct { union :}); | ^~~~~ 0x641ae8 do_pushtag ../../gcc/cp/name-lookup.c:6861 0x641ae8 pushtag(tree_node*, tree_node*, tag_scope) ../../gcc/cp/name-lookup.c:6988 0x9030d0 xref_tag(tag_types, tree_node*, tag_scope, bool) ../../gcc/cp/decl.c:15085 0x9aa0af cp_parser_class_head ../../gcc/cp/parser.c:24698 0x9aa0af cp_parser_class_specifier_1 ../../gcc/cp/parser.c:23920 0x9aa593 cp_parser_class_specifier ../../gcc/cp/parser.c:24294 0x9aa593 cp_parser_type_specifier ../../gcc/cp/parser.c:17797 0x9ab50e cp_parser_decl_specifier_seq ../../gcc/cp/parser.c:14436 0x9d5570 cp_parser_member_declaration ../../gcc/cp/parser.c:25035 0x9a82f8 cp_parser_member_specification_opt ../../gcc/cp/parser.c:24890 0x9a82f8 cp_parser_class_specifier_1 ../../gcc/cp/parser.c:23987 0x9aa593 cp_parser_class_specifier ../../gcc/cp/parser.c:24294 0x9aa593 cp_parser_type_specifier ../../gcc/cp/parser.c:17797 0x9c0273 cp_parser_type_specifier_seq ../../gcc/cp/parser.c:22479 0x9bf53a cp_parser_conversion_type_id ../../gcc/cp/parser.c:15154 0x9bf53a cp_parser_conversion_function_id ../../gcc/cp/parser.c:15115 0x9bf53a cp_parser_unqualified_id ../../gcc/cp/parser.c:6335 0x9b6d07 cp_parser_declarator_id ../../gcc/cp/parser.c:22267 0x9b6d07 cp_parser_direct_declarator ../../gcc/cp/parser.c:21515 0x9b6d07 cp_parser_declarator ../../gcc/cp/parser.c:21149 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. My gcc version is Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../configure --prefix=/home/haoxin/corpus-compilers/gcc-trunk/gcc-master/build/ --enable-languages=c,c++ CC=gcc CXX=g++ Thread model: posix Supported LTO compression algorithms: zlib gcc version 11.0.0 20200801 (experimental) (GCC) Thanks, Haoxin