http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51229
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-12-07 12:04:46 UTC --- Created attachment 26015 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26015 gcc47-pr51229.patch Untested fix. This patch doesn't deal with missing diagnostics for invalid: struct A { int i; }; int a = { .foo = 6 }; int b = { [0] = 1 }; _Complex float c = { .foo = 0, 1 }; _Complex float d = { [0] = 0, 1 }; _Complex float e = { 0, .foo = 1 }; _Complex float f = { 0, [0] = 1 }; char g[] = { [7] = "abcd" }; I'd prefer to leave that part to Jason.