r181587 - Add support for __wchar_t in -fms-extensions mode.

Hans Wennborg hans at chromium.org
Mon May 20 07:54:38 PDT 2013


On Mon, May 20, 2013 at 1:11 PM, Enea Zaffanella <zaffanella at cs.unipr.it> wrote:
> On 05/10/2013 12:08 PM, Hans Wennborg wrote:
>>
>> Author: hans
>> Date: Fri May 10 05:08:40 2013
>> New Revision: 181587
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=181587&view=rev
>> Log:
>> Add support for __wchar_t in -fms-extensions mode.
>>
>> MSVC provides __wchar_t. This is the same as the built-in wchar_t type
>> from C++, but it is also available with -fno-wchar and in C.
>>
>> The commit changes ASTContext to have two different types for this:
>>
>>    - WCharTy is the built-in type used for wchar_t in C++ and __wchar_t.
>>
>>    - WideCharTy is the type of a wide character literal. In C++ this is
>>      the same as WCharTy, and in C  it is an integer type compatible with
>>      the type in <stddef.h>.
>>
>> This fixes PR15815.
>
>
> [...]
>
>
>> -  CanQualType WCharTy;  // [C++ 3.9.1p5], integer type in C99.
>> +  CanQualType WCharTy;  // [C++ 3.9.1p5].
>> +  CanQualType WideCharTy; // Same as WCharTy in C++, integer type in C99.
>
>
> This change is going to affect clients that were calling method
>
>   ASTContext::getWCharType()
>
> which probably now should call
>
>   ASTContext::getWideCharType()
>
> when using C99. I therefore suggest the change is highlighted where
> appropriate (release notes?).

Good point. I've added to the release notes in r182280.

Thanks,
Hans



More information about the cfe-commits mailing list