http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51034

--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> 2011-11-09 00:41:18 UTC ---
Also applies with sizeof:

struct S { int x[sizeof((struct S){})];} s;

and when the type in the compound literal is not the type being defined:

struct S { int x[sizeof((struct T){})];} s;

All the invalid cases will still be diagnosed with -std=c99 
-pedantic-errors because either the empty braces will be diagnosed or 
excess elements in an initializer will be diagnosed.  But there ought to 
be an unconditional hard error for using an incomplete type, other than an 
array of unknown size, like that in a compound literal.

Reply via email to