<div class="gmail_quote">On Wed, Feb 15, 2012 at 4:14 PM, Eli Friedman <span dir="ltr"><<a href="mailto:eli.friedman@gmail.com">eli.friedman@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On Wed, Feb 15, 2012 at 3:39 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:<br>
> On Wed, Feb 15, 2012 at 2:49 PM, Eli Friedman <<a href="mailto:eli.friedman@gmail.com">eli.friedman@gmail.com</a>><br>
> wrote:<br>
>><br>
>> On Wed, Feb 15, 2012 at 2:38 PM, Richard Smith<br>
>> <<a href="mailto:richard-llvm@metafoo.co.uk">richard-llvm@metafoo.co.uk</a>> wrote:<br>
>> > Author: rsmith<br>
>> > Date: Wed Feb 15 16:38:09 2012<br>
>> > New Revision: 150625<br>
>> ><br>
>> > URL: <a href="http://llvm.org/viewvc/llvm-project?rev=150625&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=150625&view=rev</a><br>
>> > Log:<br>
>> > Support GCC's bug^Wextension allowing class array members to be<br>
>> > initalized by a<br>
>> > parenthesized braced-init-list in the base/member initialization list.<br>
>> ><br>
>> > Modified:<br>
>> > cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td<br>
>> > cfe/trunk/include/clang/Sema/Initialization.h<br>
>> > cfe/trunk/lib/Sema/SemaInit.cpp<br>
>> > cfe/trunk/test/Misc/warning-flags.c<br>
>> > cfe/trunk/test/SemaCXX/cxx0x-initializer-aggregates.cpp<br>
>> ><br>
>> > Modified: cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td<br>
>> > URL:<br>
>> > <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=150625&r1=150624&r2=150625&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td?rev=150625&r1=150624&r2=150625&view=diff</a><br>
>> ><br>
>> > ==============================================================================<br>
>> > --- cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td (original)<br>
>> > +++ cfe/trunk/include/clang/Basic/DiagnosticSemaKinds.td Wed Feb 15<br>
>> > 16:38:09 2012<br>
>> > @@ -3550,7 +3550,10 @@<br>
>> > "cannot initialize array of type %0 with non-constant array of type<br>
>> > %1">;<br>
>> > def ext_array_init_copy : Extension<<br>
>> > "initialization of an array of type %0 from a compound literal of type<br>
>> > %1 is "<br>
>> > - "a GNU extension">;<br>
>> > + "a GNU extension">, InGroup<GNU>;<br>
>> > +def ext_array_init_parens : ExtWarn<<br>
>> > + "parenthesized initialization of a member array is a GNU extension">,<br>
>> > + InGroup<GNU>;<br>
>><br>
>> Can you put this in a more specific warning group, and make it<br>
>> DefaultError? Since only very new gcc versions accept this, we really<br>
>> want to discourage anyone from using it.<br>
><br>
><br>
> Sure thing. Do you want it in a subgroup of -Wgnu, or do you want for<br>
> -Wno-gnu to leave this enabled?<br>
<br>
</div></div>-Wno-gnu should probably leave this enabled. Assuming this issue has<br>
been reported against gcc, I think they're likely to fix it rather<br>
than leave it in as an extension.<br></blockquote></div><br><div>gcc4.6 silently accepts it, and gcc4.7 issues an enabled-by-default warning.</div>