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

Enea Zaffanella zaffanella at cs.unipr.it
Mon May 20 05:11:39 PDT 2013


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?).

Enea.




More information about the cfe-commits mailing list