http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50311
Bug #: 50311
Summary: [4.7 Regression] [C++0x] ICE: SIGSEGV in
cx_check_missing_mem_inits (semantics.c:5808) with
variadic template
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: [email protected]
ReportedBy: [email protected]
Created attachment 25209
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25209
reduced testcase
Compiler output:
$ gcc -std=gnu++0x testcase.C
testcase.C: In instantiation of 'struct A<MoveOnly, MoveOnly>':
testcase.C:10:44: required from 'struct tuple<MoveOnly, MoveOnly>'
testcase.C:21:30: required from here
testcase.C:6:8: warning: direct base 'MoveOnly' inaccessible in 'A<MoveOnly,
MoveOnly>' due to ambiguity [enabled by default]
==22934== Invalid read of size 2
==22934== at 0x6CCF01: cx_check_missing_mem_inits(tree_node*, tree_node*,
bool) (semantics.c:5808)
==22934== by 0x6EA5E4: register_constexpr_fundef(tree_node*, tree_node*)
(semantics.c:5853)
==22934== by 0x5ACCA6: finish_function(int) (decl.c:13195)
==22934== by 0x6C367D: synthesize_method(tree_node*) (method.c:770)
==22934== by 0x6447FC: mark_used(tree_node*) (decl2.c:4312)
==22934== by 0x5830EA: build_over_call(z_candidate*, int, int) (call.c:6801)
==22934== by 0x57F8D4: build_new_method_call(tree_node*, tree_node*,
VEC_tree_gc**, tree_node*, int, tree_node**, int) (call.c:7396)
==22934== by 0x580ADE: build_special_member_call(tree_node*, tree_node*,
VEC_tree_gc**, tree_node*, int, int) (call.c:7070)
==22934== by 0x6B30C8: expand_aggr_init_1(tree_node*, tree_node*,
tree_node*, tree_node*, int, int) (init.c:1503)
==22934== by 0x6BA692: emit_mem_initializers(tree_node*) (init.c:972)
==22934== by 0x5D3947: tsubst_expr(tree_node*, tree_node*, int, tree_node*,
bool) (pt.c:12439)
==22934== by 0x5CFEA0: tsubst_expr(tree_node*, tree_node*, int, tree_node*,
bool) (pt.c:12612)
==22934== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==22934==
testcase.C: In instantiation of 'tuple<_Elements>::tuple() [with _Elements =
{MoveOnly, MoveOnly}]':
testcase.C:21:30: required from here
testcase.C:6:8: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Tested revisions:
r178602 - crash
4.6 r177922 - OK