http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60225
Bug ID: 60225 Summary: [4.9 Regression] [c++11] ICE initializing constexpr array Product: gcc Version: 4.9.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code 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: ========================================== struct A { constexpr A() {} static constexpr A a[2] = {}; }; ========================================== bug.cc:4:30: internal compiler error: in literal_type_p, at cp/semantics.c:7365 static constexpr A a[2] = {}; ^ 0x737157 literal_type_p(tree_node*) ../../gcc/gcc/cp/semantics.c:7365 0x7388bd ensure_literal_type_for_constexpr_object(tree_node*) ../../gcc/gcc/cp/semantics.c:7386 0x5d8ebf cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int) ../../gcc/gcc/cp/decl.c:6206 0x6865e6 grokfield(cp_declarator const*, cp_decl_specifier_seq*, tree_node*, bool, tree_node*, tree_node*) ../../gcc/gcc/cp/decl2.c:985 0x6a611f cp_parser_member_declaration ../../gcc/gcc/cp/parser.c:20429 0x6a9724 cp_parser_member_specification_opt ../../gcc/gcc/cp/parser.c:19976 0x6a9724 cp_parser_class_specifier_1 ../../gcc/gcc/cp/parser.c:19210 0x6a9724 cp_parser_class_specifier ../../gcc/gcc/cp/parser.c:19437 0x6a9724 cp_parser_type_specifier ../../gcc/gcc/cp/parser.c:14302 0x6c2ba0 cp_parser_decl_specifier_seq ../../gcc/gcc/cp/parser.c:11547 0x6c9799 cp_parser_simple_declaration ../../gcc/gcc/cp/parser.c:11137 0x6acc63 cp_parser_block_declaration ../../gcc/gcc/cp/parser.c:11086 0x6d3f12 cp_parser_declaration ../../gcc/gcc/cp/parser.c:10983 0x6d2c08 cp_parser_declaration_seq_opt ../../gcc/gcc/cp/parser.c:10869 0x6d44aa cp_parser_translation_unit ../../gcc/gcc/cp/parser.c:4014 0x6d44aa c_parse_file() ../../gcc/gcc/cp/parser.c:31536 0x7f3813 c_common_parse_file() ../../gcc/gcc/c-family/c-opts.c:1060 Please submit a full bug report, [etc.]