diff options
author | David Majnemer <david.majnemer@gmail.com> | 2016-05-23 17:21:55 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2016-05-23 17:21:55 +0000 |
commit | d1cedd4e9c5dc6ebe43534b7a376c254a7caaaae (patch) | |
tree | a5bafb7359e5dc8bb90ed723d86c695235dc046f /docs/LanguageExtensions.rst | |
parent | 6b373d1daba236a6c672e8a4e21b519cda0540a4 (diff) |
Clang support for __is_assignable intrinsic
MSVC now supports the __is_assignable type trait intrinsic,
to enable easier and more efficient implementation of the
Standard Library's is_assignable trait.
As of Visual Studio 2015 Update 3, the VC Standard Library
implementation uses the new intrinsic unconditionally.
The implementation is pretty straightforward due to the previously
existing is_nothrow_assignable and is_trivially_assignable.
We handle __is_assignable via the same code as the other two except
that we skip the extra checks for nothrow or triviality.
Patch by Dave Bartolomeo!
Differential Revision: http://reviews.llvm.org/D20492
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@270458 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/LanguageExtensions.rst')
-rw-r--r-- | docs/LanguageExtensions.rst | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/docs/LanguageExtensions.rst b/docs/LanguageExtensions.rst index 59faa9e519..c715164461 100644 --- a/docs/LanguageExtensions.rst +++ b/docs/LanguageExtensions.rst @@ -1022,6 +1022,7 @@ The following type trait primitives are supported by Clang: * ``__is_nothrow_assignable`` (MSVC 2013, clang) * ``__is_constructible`` (MSVC 2013, clang) * ``__is_nothrow_constructible`` (MSVC 2013, clang) +* ``__is_assignable`` (MSVC 2015, clang) Blocks ====== |