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

Reply via email to