[cfe-commits] [Patch] Enabling/disabling support for wchar_t type.
John McCall
rjmccall at apple.com
Wed Sep 5 10:19:33 PDT 2012
On Sep 5, 2012, at 1:59 AM, Enea Zaffanella wrote:
> On 09/04/2012 07:47 PM, John McCall wrote:
>> On Sep 2, 2012, at 11:02 PM, Enea Zaffanella wrote:
>>> Resending to cfe-commit.
>>>
>>> On 08/31/2012 12:09 PM, Enea Zaffanella wrote:
>>>> Hello.
>>>>
>>>> According to language standards, the wchar_t type is
>>>> - a library provided type in C
>>>> - a native type in C++.
>>>>
>>>> There are C++ compilers allowing users to enable/disable the native
>>>> support. For instance, MSVC has option /Zc:wchar_t. Even though the
>>>> default in newer versions of MSVC is to enable wchar_t support, there is
>>>> much code in the real world that will only work if this is disabled
>>>> (e.g., Qt X.Y.Z with X < 5).
>>>>
>>>> The attached simple patch adds flag WChar to LangOptions.
>>>> The flag is similar to Bool: if set, the native wchar_t type is
>>>> supported (i.e., wchar_t will be lexed as a keyword), otherwise it won't
>>>> be supported (i.e., it will be a normal identifier). Currently, the flag
>>>> is initialized the same as CPlusPlus, so that the addition should cause
>>>> no visible change.
>>>>
>>>> The addition of this flag will be enough for people using clang as a set
>>>> of libraries. For more "conventional" uses, it might be worth
>>>> considering the addition of a suitable command line option to toggle the
>>>> flag.
>>>>
>>>> Opinions?
>>
>> Please add a -cc1 option to suppress native wchar_t; I think -fno-wchar
>> would be sufficient.
>>
>> John.
>
> Here is the revised patch, including a testcase.
>
> OK to commit?
Looks great, thanks.
John.
More information about the cfe-commits
mailing list