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

            Bug ID: 59096
           Summary: [4.9 Regression] [c++11] ICE with template attribute
           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 valid code snippet (compiled with "-std=c++11") triggers an ICE
on trunk:

====================================
template<typename T> struct A
{
  typedef T B [[mode]];
};

A<int>::B b;
====================================

bug.cc: In instantiation of 'struct A<int>':
bug.cc:6:7:   required from here
bug.cc:3:22: internal compiler error: Segmentation fault
   typedef T B [[mode]];
                      ^
0xb2bf3f crash_signal
        ../../gcc/gcc/toplev.c:334
0x5beaf8 contains_struct_check
        ../../gcc/gcc/tree.h:2819
0x5beaf8 apply_late_template_attributes
        ../../gcc/gcc/cp/pt.c:8618
0x5cd569 tsubst_decl
        ../../gcc/gcc/cp/pt.c:10976
0x5bbf6c tsubst(tree_node*, tree_node*, int, tree_node*)
        ../../gcc/gcc/cp/pt.c:11325
0x5e98f0 instantiate_class_template_1
        ../../gcc/gcc/cp/pt.c:8974
0x5e98f0 instantiate_class_template(tree_node*)
        ../../gcc/gcc/cp/pt.c:9238
0x677563 complete_type(tree_node*)
        ../../gcc/gcc/cp/typeck.c:132
0x652b5a cp_parser_nested_name_specifier_opt
        ../../gcc/gcc/cp/parser.c:5377
0x66120e cp_parser_constructor_declarator_p
        ../../gcc/gcc/cp/parser.c:22246
0x66120e cp_parser_decl_specifier_seq
        ../../gcc/gcc/cp/parser.c:11434
0x667d39 cp_parser_simple_declaration
        ../../gcc/gcc/cp/parser.c:11039
0x64bdf0 cp_parser_block_declaration
        ../../gcc/gcc/cp/parser.c:10988
0x66f8a7 cp_parser_declaration
        ../../gcc/gcc/cp/parser.c:10885
0x66e5c8 cp_parser_declaration_seq_opt
        ../../gcc/gcc/cp/parser.c:10771
0x66fe56 cp_parser_translation_unit
        ../../gcc/gcc/cp/parser.c:4007
0x66fe56 c_parse_file()
        ../../gcc/gcc/cp/parser.c:31107
0x791013 c_common_parse_file()
        ../../gcc/gcc/c-family/c-opts.c:1055
Please submit a full bug report, [etc.]

The regression appeared between 4.9.0 20131012 and 4.9.0 20131019.

Reply via email to