https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78572
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code Status|UNCONFIRMED |NEW Last reconfirmed| |2016-11-29 CC| |msebor at gcc dot gnu.org Summary|internal compiler error: in |[6/7 Regression] internal |output_constructor_regular_ |compiler error: in |field, at varasm.c:4968 |output_constructor_regular_ | |field, at varasm.c:4968 Ever confirmed|0 |1 Known to fail| |6.2.0, 7.0 --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- Confirmed. Bisection points to r234636 as the change that caused it. Looks like it's a 6/7 regression, though designated initializers don't fully work in G++. (gcc 6.0.0) failed (status 4): ------------------------------------------------------------------------ r234636 | nathan | 2016-03-31 11:30:33 -0400 (Thu, 31 Mar 2016) | 11 lines PR c++/70393 * varasm.c (output_constructor_regular_field): Flush bitfield earlier. Assert we don't want to move backwards. cp/ * constexpr.c (cxx_eval_store_expression): Keep CONSTRUCTOR elements in field order. testsuite/ * g++.dg/cpp0x/constexpr-virtual6.C: New. The full stack trace is below: t.C:7:1: internal compiler error: in output_constructor_regular_field, at varasm.c:4989 } ^ 0x148b5bf output_constructor_regular_field ../../gcc/varasm.c:4989 0x148c3a5 output_constructor ../../gcc/varasm.c:5297 0x148aaf4 output_constant ../../gcc/varasm.c:4794 0x1482165 assemble_variable_contents ../../gcc/varasm.c:2083 0x1482bbf assemble_variable(tree_node*, int, int, int) ../../gcc/varasm.c:2259 0x149a0bc varpool_node::assemble_decl() ../../gcc/varpool.c:588 0xbab20d output_in_order ../../gcc/cgraphunit.c:2248 0xbab8d2 symbol_table::compile() ../../gcc/cgraphunit.c:2488 0xbabb1b symbol_table::finalize_compilation_unit() ../../gcc/cgraphunit.c:2584 Please submit a full bug report,