https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64417
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I tend to agree. In other words, struct foo { int x; char y[]; }; struct foo a1[] = { { 1, "a" } }; struct foo a2[] = { { 1, { "a" } } }; struct foo a3[] = { 1, "a" }; struct foo b1[] = { { 1, { 'a', '\0' } } }; struct foo b2[] = { 1, { 'a', '\0' } }; We reject b1 and b2, but should also reject a[123].