https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84927
Bug ID: 84927 Summary: [7/8 Regressiion] ICE with NSDMI and reference Product: gcc Version: 8.0.1 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: reichelt at gcc dot gnu.org Target Milestone: --- The following valid code snippet triggers an ICE since GCC 7.1.0: ================== struct A { int& r; int i = r; }; void foo() { int j; A a = A{j}; } ================== bug.cc: In function 'void foo()': bug.cc:16:12: internal compiler error: non-constant element in constant CONSTRUCTOR A a = A{j}; ^ 0x11445b0 verify_constructor_flags(tree_node*) ../../gcc/gcc/tree.c:1987 0x8578e7 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.c:4535 0x8584d2 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.c:4697 0x857057 cxx_eval_indirect_ref ../../gcc/gcc/cp/constexpr.c:3329 0x857057 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.c:4334 0x858716 cxx_eval_component_reference ../../gcc/gcc/cp/constexpr.c:2494 0x858716 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.c:4494 0x858831 cxx_eval_indirect_ref ../../gcc/gcc/cp/constexpr.c:3285 0x858831 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.c:4334 0x857b03 cxx_eval_bare_aggregate ../../gcc/gcc/cp/constexpr.c:2845 0x857b03 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.c:4541 0x85bee7 cxx_eval_outermost_constant_expr ../../gcc/gcc/cp/constexpr.c:4835 0x85eb96 maybe_constant_value(tree_node*, tree_node*) ../../gcc/gcc/cp/constexpr.c:5053 0x86e4c1 cp_fully_fold(tree_node*) ../../gcc/gcc/cp/cp-gimplify.c:2071 0x9f3526 store_init_value(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, int) ../../gcc/gcc/cp/typeck2.c:848 0x88718a check_initializer ../../gcc/gcc/cp/decl.c:6467 0x89f38c cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int) ../../gcc/gcc/cp/decl.c:7121 0x93b893 cp_parser_init_declarator ../../gcc/gcc/cp/parser.c:19723 0x942cc8 cp_parser_simple_declaration ../../gcc/gcc/cp/parser.c:13057 0x943ad8 cp_parser_block_declaration ../../gcc/gcc/cp/parser.c:12882 Please submit a full bug report, [etc.]