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.]

Reply via email to