https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61670

            Bug ID: 61670
           Summary: ICE on invalid in tree_nop_conversion
           Product: gcc
           Version: 4.10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dimhen at gmail dot com

$ cat au.ii 
template <class> class A {
A:
  0
};

A<int> a;

$ /usr/local/gcc_current/bin/g++ -v              
Using built-in specs.
COLLECT_GCC=/usr/local/gcc_current/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/gcc_current/libexec/gcc/x86_64-unknown-linux-gnu/4.10.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /home/dimhen/src/gcc_current/configure
--prefix=/usr/local/gcc_current/ --enable-checking=yes,df,rtl,tree
--enable-languages=c,c++,lto --enable-plugin
--enable-version-specific-runtime-libs --enable-static
Thread model: posix
gcc version 4.10.0 20140702 (experimental) [trunk revision 212219] (GCC) 

[dimhen@dim x]$ /usr/local/gcc_current/bin/g++ -c au.ii -o au.o
au.ii:3:3: error: expected ';' at end of member declaration
   0
   ^
au.ii: In instantiation of 'class A<int>':
au.ii:6:8:   required from here
au.ii:3:3: error: 'A< <template-parameter-1-1> >::<anonymous>' has incomplete
type
au.ii:1:24: note: definition of 'class A<int>' is not complete until the
closing brace
 template <class> class A {
                        ^
au.ii:1:24: internal compiler error: Segmentation fault
0xc4a0ff crash_signal
    /home/dimhen/src/gcc_current/gcc/toplev.c:337
0xe9c214 tree_nop_conversion
    /home/dimhen/src/gcc_current/gcc/tree.c:11667
0xe9c214 tree_strip_nop_conversions(tree_node*)
    /home/dimhen/src/gcc_current/gcc/tree.c:11718
0xe9dc9a integer_zerop(tree_node const*)
    /home/dimhen/src/gcc_current/gcc/tree.c:2114
0x632dbf remove_zero_width_bit_fields
    /home/dimhen/src/gcc_current/gcc/cp/class.c:5255
0x632dbf layout_class_type
    /home/dimhen/src/gcc_current/gcc/cp/class.c:6194
0x63ebcc finish_struct_1(tree_node*)
    /home/dimhen/src/gcc_current/gcc/cp/class.c:6416
0x6118aa instantiate_class_template_1
    /home/dimhen/src/gcc_current/gcc/cp/pt.c:9404
0x6118aa instantiate_class_template(tree_node*)
    /home/dimhen/src/gcc_current/gcc/cp/pt.c:9444
0x6a8533 complete_type(tree_node*)
    /home/dimhen/src/gcc_current/gcc/cp/typeck.c:134
0x586569 start_decl_1(tree_node*, bool)
    /home/dimhen/src/gcc_current/gcc/cp/decl.c:4762
0x5af793 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int,
tree_node*, tree_node*, tree_node**)
    /home/dimhen/src/gcc_current/gcc/cp/decl.c:4725
0x69051f cp_parser_init_declarator
    /home/dimhen/src/gcc_current/gcc/cp/parser.c:16827
0x691fd5 cp_parser_simple_declaration
    /home/dimhen/src/gcc_current/gcc/cp/parser.c:11322
0x675c53 cp_parser_block_declaration
    /home/dimhen/src/gcc_current/gcc/cp/parser.c:11203
0x69ddc5 cp_parser_declaration
    /home/dimhen/src/gcc_current/gcc/cp/parser.c:11100
0x69ca88 cp_parser_declaration_seq_opt
    /home/dimhen/src/gcc_current/gcc/cp/parser.c:10986
0x69e313 cp_parser_translation_unit
    /home/dimhen/src/gcc_current/gcc/cp/parser.c:4053
0x69e313 c_parse_file()
    /home/dimhen/src/gcc_current/gcc/cp/parser.c:31811
0x7c9fa2 c_common_parse_file()
    /home/dimhen/src/gcc_current/gcc/c-family/c-opts.c:1115
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to