http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60051
Bug ID: 60051 Summary: [4.9 Regression] [c++11] ICE with auto and array initialization 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: ================================== #include <initializer_list> auto x[2] = {}; ================================== bug.cc:3:14: internal compiler error: tree check: expected integer_type or enumeral_type or boolean_type or real_type or fixed_point_type, have error_mark in unify_array_domain, at cp/pt.c:17098 auto x[2] = {}; ^ 0xdc4964 tree_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc/gcc/tree.c:9192 0x6394e9 tree_check5 ../../gcc/gcc/tree.h:2800 0x6394e9 unify_array_domain ../../gcc/gcc/cp/pt.c:17098 0x636a8e unify ../../gcc/gcc/cp/pt.c:17263 0x639b17 unify_one_argument ../../gcc/gcc/cp/pt.c:16161 0x63bf74 type_unification_real ../../gcc/gcc/cp/pt.c:16233 0x649b8a do_auto_deduction(tree_node*, tree_node*, tree_node*) ../../gcc/gcc/cp/pt.c:21471 0x5db471 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int) ../../gcc/gcc/cp/decl.c:6200 0x6caa1d cp_parser_init_declarator ../../gcc/gcc/cp/parser.c:16815 0x6cc1d9 cp_parser_simple_declaration ../../gcc/gcc/cp/parser.c:11205 0x6af4b3 cp_parser_block_declaration ../../gcc/gcc/cp/parser.c:11086 0x6d67b2 cp_parser_declaration ../../gcc/gcc/cp/parser.c:10983 0x6d54a8 cp_parser_declaration_seq_opt ../../gcc/gcc/cp/parser.c:10869 0x6d6d8a cp_parser_translation_unit ../../gcc/gcc/cp/parser.c:4014 0x6d6d8a c_parse_file() ../../gcc/gcc/cp/parser.c:31528 0x7f66d3 c_common_parse_file() ../../gcc/gcc/c-family/c-opts.c:1060 Please submit a full bug report, [etc.] The regression was introduced between 2013-10-12 and 2013-10-19.