<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jan 5, 2014 at 6:37 PM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.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="im">On Sun, Jan 5, 2014 at 9:14 AM, Aaron Ballman <<a href="mailto:aaron@aaronballman.com">aaron@aaronballman.com</a>> wrote:<br>

> On Sun, Jan 5, 2014 at 12:20 AM, Alp Toker <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>> wrote:<br>
>> On 04/01/2014 21:07, David Majnemer wrote:<br>
>>><br>
>>> It seems that I mixed up MicrosoftMode and MicrosoftExt which lead to a<br>
>>> discussion between Alp Toker, Aaron Ballman, and myself.<br>
>>><br>
>>> We agreed that the current state of affairs is confusing and should be<br>
>>> remedied:<br>
>>> - MicrosoftExt will be renamed to MSVCExt (and will still be controlled by<br>
>>> -fms-extensions)<br>
>>> - MicrosoftMode will be renamed to MSVCCompat (and will still be<br>
>>> controlled by -fms-compatibility)<br>
>><br>
>><br>
>> Attached patch does the mechanical regex replace described above, passed<br>
>> through clang-format.<br>
>><br>
>> The only manual changes are in LangOptions.def, where the MSVC-related<br>
>> options are brought closer together with updated descriptions:<br>
>><br>
>> LANGOPT(MSVCExt           , 1, 0, "Microsoft extensions")<br>
>> LANGOPT(MSVCCompat        , 1, 0, "Microsoft Visual C++ quirks mode")<br>
><br>
> I'm not too keen on calling it a "quirks mode" because it's not<br>
> quirks. MSVCCompat is for conforming language extensions, and MSVCExt<br>
> is for non-conforming language extensions (so, if anything, the naming<br>
> should be reversed). How about:<br>
><br>
> LANGOPT(MSVCCompat        , 1, 0, "Microsoft Visual C++ conforming extensions")<br>
> LANGOPT(MSVCExt           , 1, 0, "Microsoft Visual C++ non-conforming<br>
> extensions")<br>
<br>
</div>Of course, as David kindly pointed out, I promptly got it backwards. I<br>
should have said:<br>
<br>
LANGOPT(MSVCExt           , 1, 0, "Microsoft Visual C++ conforming extensions")<br>
LANGOPT(MSVCCompat        , 1, 0, "Microsoft Visual C++ non-conforming<br>
extensions")</blockquote></div><br>Were I to paint this bikeshed (and I think it is approaching a bikeshed question) I like your wording for the first, but would describe the second in terms of its intent: full and complete compatibility. That happens to include non-conforming extensions, it also includes things which make no sense except when attempting to be fully interoperable with every other aspect of MSVC (runtime, linker, ABI, libraries, headers, extensions, the whole 9 yards). Anyways...</div>
</div>