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