http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60980
--- Comment #4 from Paul Pluzhnikov <ppluzhnikov at google dot com> --- (In reply to Andrew Pinski from comment #3) > Note I think this code is invalid due to the struct not having a size. Making the array non-empty makes no difference: struct x0 { x0 () = default; }; struct x1 { x0 x2[1]; void x3 () { x1 (); } }; g++ -c -std=c++11 t.ii t.ii: In member function ‘void x1::x3()’: t.ii:10:13: internal compiler error: tree check: expected record_type or union_type or qual_union_type, have array_type in build_special_member_call, at cp/call.c:7447 ... same as above.