On Mon, Sep 24, 2012 at 11:49 AM, Dmitri Gribenko <span dir="ltr"><<a href="mailto:gribozavr@gmail.com" target="_blank">gribozavr@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><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 Mon, Sep 24, 2012 at 9:08 PM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:<br>
> On Mon, Sep 24, 2012 at 10:03 AM, Dmitri Gribenko <<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>><br>
> wrote:<br>
>><br>
>> On Mon, Sep 24, 2012 at 7:59 PM, Ronan Keryell <<a href="mailto:Ronan.Keryell@silkan.com">Ronan.Keryell@silkan.com</a>><br>
>> wrote:<br>
>> >>>>>> On Mon, 24 Sep 2012 18:53:07 +0300, Dmitri Gribenko<br>
>> >>>>>> <<a href="mailto:gribozavr@gmail.com">gribozavr@gmail.com</a>> said:<br>
>> ><br>
>> >     Dmitri> The rationale for my change is that if one has some C++ code<br>
>> >     Dmitri> that is being compiled in C++98 mode, offering C99 isn't of<br>
>> >     Dmitri> much help, since most C++ features are not C99-compatible.<br>
>> ><br>
>> > Yes, I understand.<br>
>> ><br>
>> > I was just thinking also to the poor lost guys that use the C++ compiler<br>
>> > to compile their C code... :-)<br>
>> ><br>
>> > That sounds crazy but this happens.<br>
>><br>
>> This is an interesting viewpoint, but it should be applied<br>
>> consistently to all our diagnostics.  I don't think that we aim to<br>
>> educate the programmer with diagnostics.<br>
>><br>
>> Although we have to admit that there are programmers who learn<br>
>> language features by playing with their implementation in a particular<br>
>> compiler.<br>
><br>
><br>
> This patch matches our current approach for features which are extensions in<br>
> both C99 and C++11, and I don't see a compelling reason to change that<br>
> approach. LGTM, though it saddens me that we have so many different places<br>
> issuing the same trio of diagnostics.<br>
<br>
</div></div>I'm terribly sorry for breakage, but this makes us warn on long long<br>
while self-hosting because we pass -pedantic -Wno-long-long, but<br>
"'long long' is a C++11 extension" is in CXX11 group, not in LongLong<br>
group.<br>
<br>
How to handle this?  Should I back out?</blockquote><div><br></div><div>The best way to fix this is to add this warning to both the LongLong group and the CXX11 group:</div><div><br></div><div>def CXX11LongLong : DiagGroup<"c++11-long-long">;</div>
<div>def LongLong : DiagGroup<"long-long", [CXX11LongLong]>;</div><div>def CXX11 : DiagGroup<"c++11-extensions", [CXX11ExtraSemi, CXX11LongLong]>;</div><div><br></div><div>Please back out the other patch if you can't get this fix in reasonably soon.</div>
</div>