https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102642
Bug ID: 102642 Summary: [12 Regression] ICE in get, at cgraph.h:2776 Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com Target Milestone: --- g++-12.0.0-alpha20211003 snapshot (g:d91056851c5c60f226e3192fb955d018b53eb66f) ICEs when compiling the following testcase, reduced from test/SemaCXX/cxx11-thread-local.cpp from the clang 12.0.0 test suite: thread_local int *z; void f() { extern thread_local int z; } % g++-12.0.0 -c ynw1mjy5.cpp ynw1mjy5.cpp:4:27: error: conflicting declaration 'int z' 4 | extern thread_local int z; | ^ ynw1mjy5.cpp:1:19: note: previous declaration as 'int* z' 1 | thread_local int *z; | ^ ynw1mjy5.cpp: In function 'void f()': ynw1mjy5.cpp:4:27: internal compiler error: in get, at cgraph.h:2776 4 | extern thread_local int z; | ^ 0x8774d6 varpool_node::get(tree_node const*) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cgraph.h:2776 0x877571 varpool_node::get(tree_node const*) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cgraph.h:463 0x877571 varpool_node::get_create(tree_node*) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/varpool.c:145 0x144cd3c set_decl_tls_model(tree_node*, tls_model) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/tree.c:939 0xa89ddf push_local_extern_decl_alias(tree_node*) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/name-lookup.c:3478 0xa8ab34 do_pushdecl /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/name-lookup.c:3831 0xa8cdbb do_pushdecl /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/name-lookup.c:3631 0xa8cdbb pushdecl(tree_node*, bool) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/name-lookup.c:3854 0xa8cdbb maybe_push_decl(tree_node*) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/name-lookup.c:4160 0x9de1eb start_decl(cp_declarator const*, cp_decl_specifier_seq*, int, tree_node*, tree_node*, tree_node**) /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/decl.c:5690 0xad8767 cp_parser_init_declarator /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:22532 0xab2bc4 cp_parser_simple_declaration /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:15142 0xab4ccd cp_parser_declaration_statement /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:14223 0xab5484 cp_parser_statement /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:12315 0xab635d cp_parser_statement_seq_opt /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:12722 0xab6438 cp_parser_compound_statement /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:12671 0xad7188 cp_parser_function_body /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:24902 0xad7188 cp_parser_ctor_initializer_opt_and_function_body /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:24953 0xad7f0a cp_parser_function_definition_after_declarator /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:31083 0xad928b cp_parser_function_definition_from_specifiers_and_declarator /var/tmp/portage/sys-devel/gcc-12.0.0_alpha20211003/work/gcc-12-20211003/gcc/cp/parser.c:30999