https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83588
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|accepts-invalid | Status|UNCONFIRMED |NEW Last reconfirmed| |2018-01-14 CC| |msebor at gcc dot gnu.org Summary|Struct with two flexible |[6/7/8 Regression] struct |arrays causes an internal |with two flexible arrays |compiler error |causes an internal compiler | |error Ever confirmed|0 |1 Known to fail| |6.4.0, 7.2.0, 8.0 --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- Confirmed with GCC 6, 7, and 8. Bisection points to r231665. Initialization of objects with flexible array members is accepted for compatibility with GCC. $ cat pr83588.C && gcc -S -Wall pr83588.C. struct Foo { int i, a[], b[]; }; struct Foo t = {1, {0, 0, 0}, {0, 0, 0}}; pr83588.C:6:41: internal compiler error: in output_constructor_regular_field, at varasm.c:5155 struct Foo t = {1, {0, 0, 0}, {0, 0, 0}}; ^ 0x16c5a99 output_constructor_regular_field /ssd/src/gcc/git/gcc/varasm.c:5155 0x16c6729 output_constructor /ssd/src/gcc/git/gcc/varasm.c:5438 0x16c5090 output_constant /ssd/src/gcc/git/gcc/varasm.c:4965 0x16baa3d assemble_variable_contents /ssd/src/gcc/git/gcc/varasm.c:2134 0x16bb549 assemble_variable(tree_node*, int, int, int) /ssd/src/gcc/git/gcc/varasm.c:2310 0x16d555e varpool_node::assemble_decl() /ssd/src/gcc/git/gcc/varpool.c:590 0xcad84b output_in_order /ssd/src/gcc/git/gcc/cgraphunit.c:2385 0xcae001 symbol_table::compile() /ssd/src/gcc/git/gcc/cgraphunit.c:2623 0xcae2c1 symbol_table::finalize_compilation_unit() /ssd/src/gcc/git/gcc/cgraphunit.c:2717 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.