[cfe-dev] -Wmissing-field-initializers

John McCall rjmccall at apple.com
Mon Feb 20 13:14:29 PST 2012

On Feb 20, 2012, at 12:40 PM, Sean McBride wrote:
> On Mon, 20 Feb 2012 12:16:36 -0800, John McCall said:
>> -Wmissing-field-initializers does have a special case for intentional
>> uses of the language's default-zero-initialization rules.  However, that
>> special case is spelled {}, not {0}.  If you feel that this is a really
>> common idiom for zero-initialization, we could also add it, but I'd
>> really prefer not to, because it neuters -Wmissing-field-initializers on
>> an interesting class of bugs.
> But using {}, as you suggest, gives:
> warning: use of GNU empty initializer extension [-pedantic,-Wgnu]

This is one of my consistent blind spots;  it surprises me every single time.
Although we were talking about C++ here, where {} is permitted.

> One seems trapped between one warning or the other.

I agree that something should probably be done for the C case.
If that means white-listing {0}, okay.  I'd still prefer to only do so in C,
since the better option is available in C++.


More information about the cfe-dev mailing list