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: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz 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