http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58672

            Bug ID: 58672
           Summary: ICE with thread_local and variable of broken class
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: reichelt at gcc dot gnu.org

The following invalid code snippet (compiled with "-std=c++11") triggers an ICE
since GCC 4.8.0 (when thread_local was introduced):

==========================
struct A
{
  A(int);
  i;
};

thread_local A a(0);
==========================

bug.cc:4:3: error: 'i' does not name a type
   i;
   ^
bug.cc: In function 'void __tls_init()':
bug.cc:7:16: internal compiler error: Segmentation fault
 thread_local A a(0);
                ^
0xaefa5f crash_signal
        ../../gcc/gcc/toplev.c:335
0x7fa439 cgraph_create_function_alias(tree_node*, tree_node*)
        ../../gcc/gcc/cgraph.c:565
0x7fa51c cgraph_same_body_alias(cgraph_node*, tree_node*, tree_node*)
        ../../gcc/gcc/cgraph.c:594
0x617d7b handle_tls_init
        ../../gcc/gcc/cp/decl2.c:3976
0x617d7b cp_write_global_declarations()
        ../../gcc/gcc/cp/decl2.c:4171
Please submit a full bug report, [etc.]

Reply via email to