https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88261
--- Comment #4 from Bernd Edlinger <edlinger at gcc dot gnu.org> --- For G++ versions, where this was accepted with -fpermissive, the code was wrong: struct str { int len; char s[]; }; int foo() { struct str b = { 2, "b" }; return sizeof(b); } => movl $4, %eax ret