[Bug c++/60200] New: [c++11] ICE with invalid use of auto in typedef
reichelt at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Feb 14 16:02:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60200
Bug ID: 60200
Summary: [c++11] ICE with invalid use of auto in typedef
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 on trunk:
===========================================
template<typename> struct A
{
typedef auto X;
};
A<int> a;
===========================================
bug.cc:3:16: error: typedef declared 'auto'
typedef auto X;
^
bug.cc: In instantiation of 'struct A<int>':
bug.cc:6:8: required from here
bug.cc:3:16: internal compiler error: tree check: expected class 'type', have
'exceptional' (error_mark) in tsubst_decl, at cp/pt.c:10817
0xdc0407 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
../../gcc/gcc/tree.c:9243
0x631b69 tree_class_check
../../gcc/gcc/tree.h:2832
0x631b69 tsubst_decl
../../gcc/gcc/cp/pt.c:10817
0x61be9f tsubst(tree_node*, tree_node*, int, tree_node*)
../../gcc/gcc/cp/pt.c:11357
0x64a34a instantiate_class_template_1
../../gcc/gcc/cp/pt.c:9010
0x64a34a instantiate_class_template(tree_node*)
../../gcc/gcc/cp/pt.c:9274
0x6db973 complete_type(tree_node*)
../../gcc/gcc/cp/typeck.c:134
0x5c4f38 start_decl_1(tree_node*, bool)
../../gcc/gcc/cp/decl.c:4719
0x5ede67 start_decl(cp_declarator const*, cp_decl_specifier_seq*, int,
tree_node*, tree_node*, tree_node**)
../../gcc/gcc/cp/decl.c:4682
0x6c7e9e cp_parser_init_declarator
../../gcc/gcc/cp/parser.c:16680
0x6c9929 cp_parser_simple_declaration
../../gcc/gcc/cp/parser.c:11205
0x6acc13 cp_parser_block_declaration
../../gcc/gcc/cp/parser.c:11086
0x6d3ec2 cp_parser_declaration
../../gcc/gcc/cp/parser.c:10983
0x6d2bb8 cp_parser_declaration_seq_opt
../../gcc/gcc/cp/parser.c:10869
0x6d445a cp_parser_translation_unit
../../gcc/gcc/cp/parser.c:4014
0x6d445a c_parse_file()
../../gcc/gcc/cp/parser.c:31536
0x7f37c3 c_common_parse_file()
../../gcc/gcc/c-family/c-opts.c:1060
Please submit a full bug report, [etc.]
More information about the Gcc-bugs
mailing list