https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69263

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-01-13
                 CC|                            |trippels at gcc dot gnu.org
      Known to work|                            |5.3.1
            Summary|internal compiler error: in |[6 Regression] internal
                   |cxx_eval_store_expression   |compiler error: in
                   |                            |cxx_eval_store_expression
     Ever confirmed|0                           |1
      Known to fail|                            |6.0

--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
markus@x4 tmp % cat str.ii
template <int N> struct string_constexpr {
  string_constexpr() = default;
  template <int> string_constexpr();
  char data[N];
};
template <int N> constexpr string_constexpr<N> s(char const (&)[N]) {
  string_constexpr<N> c{};
  for (int i = 0; i < N; i++)
    c.data[i] = i;
}
auto a = s("bla");

markus@x4 tmp % g++ -c str.ii
str.ii:11:17:   in constexpr expansion of ‘s<4>("bla")’
str.ii:11:17: internal compiler error: in cxx_eval_store_expression, at
cp/constexpr.c:2807
 auto a = s("bla");
                 ^

0x80cf39 cxx_eval_store_expression
        ../../gcc/gcc/cp/constexpr.c:2807
0x80a2be cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3311
0x809ee1 cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3570
0x809dbc cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3348
0x809dbc cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3348
0x80ee61 cxx_eval_statement_list
        ../../gcc/gcc/cp/constexpr.c:3027
0x80a7dc cxx_eval_loop_expr
        ../../gcc/gcc/cp/constexpr.c:3054
0x80a7dc cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3680
0x80ee61 cxx_eval_statement_list
        ../../gcc/gcc/cp/constexpr.c:3027
0x80a6cd cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3614
0x80a89f cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3620
0x80ee61 cxx_eval_statement_list
        ../../gcc/gcc/cp/constexpr.c:3027
0x80a6cd cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3614
0x80a89f cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3620
0x808ef7 cxx_eval_call_expression
        ../../gcc/gcc/cp/constexpr.c:1386
0x80a856 cxx_eval_constant_expression
        ../../gcc/gcc/cp/constexpr.c:3237
0x80f0e8 cxx_eval_outermost_constant_expr
        ../../gcc/gcc/cp/constexpr.c:3773
0x8117cf maybe_constant_init(tree_node*, tree_node*)
        ../../gcc/gcc/cp/constexpr.c:4067
0x68ac47 store_init_value(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
        ../../gcc/gcc/cp/typeck2.c:822
0x5f2ea2 check_initializer
        ../../gcc/gcc/cp/decl.c:6137

Reply via email to