summaryrefslogtreecommitdiff
path: root/include/__config
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2017-11-22 19:49:03 +0000
committerMarshall Clow <mclow.lists@gmail.com>2017-11-22 19:49:03 +0000
commitaa0e236289a6643641c6d268deb69e0013d5112a (patch)
tree4e44eab88717d64a82eab8f34ead8ef142d2ecf9 /include/__config
parentbd858589df5f68c1d7521b882b18c8b72a4c86e7 (diff)
Implement p0137r1 - std::launder. Reviewed as https://reviews.llvm.org/D40144
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@318864 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/__config')
-rw-r--r--include/__config8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/__config b/include/__config
index 561eb36ac..70a34e1c0 100644
--- a/include/__config
+++ b/include/__config
@@ -456,6 +456,10 @@ namespace std {
#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK __attribute__((__no_sanitize__("unsigned-integer-overflow")))
#endif
+#if __has_builtin(__builtin_launder)
+#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER
+#endif
+
#elif defined(_LIBCPP_COMPILER_GCC)
#define _ALIGNAS(x) __attribute__((__aligned__(x)))
@@ -538,6 +542,10 @@ namespace std {
#define _LIBCPP_HAS_NO_ASAN
#endif
+#if _GNUC_VER >= 700
+#define _LIBCPP_COMPILER_HAS_BUILTIN_LAUNDER
+#endif
+
#elif defined(_LIBCPP_COMPILER_MSVC)
#define _LIBCPP_TOSTRING2(x) #x