https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55227
J.R. Heisey <jr at heisey dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jr at heisey dot org --- Comment #3 from J.R. Heisey <jr at heisey dot org> --- struct S s1 = { { a : "aaaa" } }; struct S s2 = { { .a = "aaaa"} }; This compiles with 6.2.1 for ARM by Linaro. You need separate braces around the array initializer to distinguish it from the struct initializer.