This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/58583] [c++11] ICE with invalid non-static data member initialization in template
- From: "reichelt at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 30 Dec 2013 21:58:08 +0000
- Subject: [Bug c++/58583] [c++11] ICE with invalid non-static data member initialization in template
- Auto-submitted: auto-generated
- References: <bug-58583-4 at http dot gcc dot gnu dot org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58583
--- Comment #2 from Volker Reichelt <reichelt at gcc dot gnu.org> ---
The second testcase is now also wrongly accepted, due to the fix for PR57887.
However, the following testcase still crashes with almost the same stacktrace:
===========================
template<int> struct A
{
int i = (A<0>(), 0);
};
===========================
bug.cc: In constructor 'constexpr A<0>::A()':
bug.cc:1:22: internal compiler error: in tsubst_copy, at cp/pt.c:12863
template<int> struct A
^
0x5f62a3 tsubst_copy
../../gcc/gcc/cp/pt.c:12863
0x5d35f2 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:15083
0x6d8523 perform_member_init
../../gcc/gcc/cp/init.c:537
0x6d8523 emit_mem_initializers(tree_node*)
../../gcc/gcc/cp/init.c:1096
0x6e310e synthesize_method(tree_node*)
../../gcc/gcc/cp/method.c:799
0x6532f4 mark_used(tree_node*, int)
../../gcc/gcc/cp/decl2.c:4779
0x580359 build_over_call
../../gcc/gcc/cp/call.c:7119
0x57bd35 build_new_method_call_1
../../gcc/gcc/cp/call.c:7818
0x57bd35 build_new_method_call(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, tree_node*, int, tree_node**, int)
../../gcc/gcc/cp/call.c:7888
0x57ce17 build_special_member_call(tree_node*, tree_node*, vec<tree_node*,
va_gc, vl_embed>**, tree_node*, int, int)
../../gcc/gcc/cp/call.c:7444
0x6d5697 build_value_init(tree_node*, int)
../../gcc/gcc/cp/init.c:345
0x61ee49 build_functional_cast(tree_node*, tree_node*, int)
../../gcc/gcc/cp/typeck2.c:1858
0x5d364e tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:14053
0x5d77a5 fold_non_dependent_expr_sfinae(tree_node*, int)
../../gcc/gcc/cp/pt.c:5111
0x5d77e9 build_non_dependent_expr(tree_node*)
../../gcc/gcc/cp/pt.c:21234
0x6a93e7 build_x_compound_expr(unsigned int, tree_node*, tree_node*, int)
../../gcc/gcc/cp/typeck.c:6136
0x6847fb cp_parser_expression
../../gcc/gcc/cp/parser.c:8294
0x67bb3f cp_parser_primary_expression
../../gcc/gcc/cp/parser.c:4279
0x67e5da cp_parser_postfix_expression
../../gcc/gcc/cp/parser.c:5969
0x681698 cp_parser_unary_expression
../../gcc/gcc/cp/parser.c:7170
Please submit a full bug report, [etc.]