[PATCH] MSVC 2013 type trait support

Richard Smith richard at metafoo.co.uk
Fri Jan 17 13:36:10 PST 2014


On Fri, Jan 17, 2014 at 6:52 AM, Alp Toker <alp at nuanti.com> wrote:

> Ping
>
> Need this to parse MSVC headers, patch rebased to ToT.


Really sorry for the delay!

For the 'nothrow' tests, please use Sema::canThrow rather than checking the
exception specification (that way, you'll also handle exceptions within
default arguments, exceptions within the conversion sequences for the
parameters, and so on). Please also *don't* return true if the construction
is trivial but not noexcept -- that doesn't match what the standard
requires from these traits.

If you're intending on providing follow-up patches implementing the other
stubbed-out traits, I'm OK with them being broken in the interim (it's a
good start); otherwise I'd like for them to be diagnosed rather than
silently giving the wrong answers.

 On 12/12/2013 17:13, Alp Toker wrote:

>  This patch adds support for the MSVC12.0 / 2013 type trait builtin
>> primitives sufficiently to support the new type_trait facilities added to
>> the C++ standard library.
>>
>> With these clang is now more or less able to parse itself with the Visual
>> Studio 2013 SDK.
>>
>> Fully Implemented:
>>
>> * __is_constructible()
>> * __is_nothrow_constructible()
>>
>> Implemented through fallback to other type traits (WIP, noted with two
>> TODOs):
>>
>> * __is_destructible()
>> * __is_nothrow_destructible()
>> * __is_nothrow_assignable()
>>
>> The patch is built on top of the other two posted earlier today unifying
>> (1) contextual keywords and (2) the new type traits implementation.
>>
>> Alp.
>>
>>
> --
> http://www.nuanti.com
> the browser experts
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140117/49f474a4/attachment.html>


More information about the cfe-commits mailing list