r198497 - Move MS predefined type_info out of InitializePredefinedMacros

Aaron Ballman aaron at aaronballman.com
Sun Jan 5 06:14:24 PST 2014


On Sun, Jan 5, 2014 at 12:20 AM, Alp Toker <alp at nuanti.com> wrote:
> On 04/01/2014 21:07, David Majnemer wrote:
>>
>> It seems that I mixed up MicrosoftMode and MicrosoftExt which lead to a
>> discussion between Alp Toker, Aaron Ballman, and myself.
>>
>> We agreed that the current state of affairs is confusing and should be
>> remedied:
>> - MicrosoftExt will be renamed to MSVCExt (and will still be controlled by
>> -fms-extensions)
>> - MicrosoftMode will be renamed to MSVCCompat (and will still be
>> controlled by -fms-compatibility)
>
>
> Attached patch does the mechanical regex replace described above, passed
> through clang-format.
>
> The only manual changes are in LangOptions.def, where the MSVC-related
> options are brought closer together with updated descriptions:
>
> LANGOPT(MSVCExt           , 1, 0, "Microsoft extensions")
> LANGOPT(MSVCCompat        , 1, 0, "Microsoft Visual C++ quirks mode")

I'm not too keen on calling it a "quirks mode" because it's not
quirks. MSVCCompat is for conforming language extensions, and MSVCExt
is for non-conforming language extensions (so, if anything, the naming
should be reversed). How about:

LANGOPT(MSVCCompat        , 1, 0, "Microsoft Visual C++ conforming extensions")
LANGOPT(MSVCExt           , 1, 0, "Microsoft Visual C++ non-conforming
extensions")

Then, maybe someday, we can more verbosely define what "conforming"
and "non-conforming" mean in the documentation for these options.

~Aaron



More information about the cfe-commits mailing list