]> granicus.if.org Git - clang/commit
MSVC 2013 type trait support
authorAlp Toker <alp@nuanti.com>
Mon, 20 Jan 2014 00:24:09 +0000 (00:24 +0000)
committerAlp Toker <alp@nuanti.com>
Mon, 20 Jan 2014 00:24:09 +0000 (00:24 +0000)
commit213c6aa586a716bb76ac43ae2435a8e928dcec99
tree290debd9a0e9ee79c0e556519a8c80bef0c22678
parent410b2d82d38b662d1873a3e04acdabe2d420ab12
MSVC 2013 type trait support

Implement type trait primitives used in the latest edition of the Microsoft
standard C++ library type_traits header.

With this change we can parse much of the Visual Studio 2013 standard headers,
particularly anything that includes <type_traits>.

Fully implemented, available in all language modes:

 * __is_constructible()
 * __is_nothrow_constructible()
 * __is_nothrow_assignable()

Partially implemented, semantic analysis WIP, available as MS extensions:

 * __is_destructible()
 * __is_nothrow_destructible()

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@199619 91177308-0d34-0410-b5e6-96231b3b80d8
docs/LanguageExtensions.rst
include/clang/Basic/TokenKinds.def
include/clang/Basic/TypeTraits.h
lib/Sema/SemaExprCXX.cpp
test/CXX/except/except.spec/canonical.cpp
test/SemaCXX/type-traits.cpp