summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/language.support/support.limits
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2019-04-24 17:54:25 +0000
committerEric Fiselier <eric@efcs.ca>2019-04-24 17:54:25 +0000
commit2fc5a786beaba1fbac1de65d78889d72b667f2d3 (patch)
treea3136cb21a5ba3f8ce402361552b79115a8d7691 /libcxx/test/std/language.support/support.limits
parentabdb816b776cc43a1f318c84d26e1fe5840da073 (diff)
downloadbcm5719-llvm-2fc5a786beaba1fbac1de65d78889d72b667f2d3.tar.gz
bcm5719-llvm-2fc5a786beaba1fbac1de65d78889d72b667f2d3.zip
Add std::is_constant_evaluated.
Clang recently added __builtin_is_constant_evaluated() and GCC 9.0 has it as well. This patch adds support for it in libc++. llvm-svn: 359119
Diffstat (limited to 'libcxx/test/std/language.support/support.limits')
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.pass.cpp6
-rw-r--r--libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp6
2 files changed, 6 insertions, 6 deletions
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.pass.cpp
index 7e8b3de35f4..29e76b36e4c 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.pass.cpp
@@ -315,16 +315,16 @@
# endif
# endif
-# if !defined(_LIBCPP_VERSION)
+# if TEST_HAS_BUILTIN(__builtin_is_constant_evaluated) || TEST_GCC_VER >= 900
# ifndef __cpp_lib_is_constant_evaluated
# error "__cpp_lib_is_constant_evaluated should be defined in c++2a"
# endif
# if __cpp_lib_is_constant_evaluated != 201811L
# error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++2a"
# endif
-# else // _LIBCPP_VERSION
+# else
# ifdef __cpp_lib_is_constant_evaluated
-# error "__cpp_lib_is_constant_evaluated should not be defined because it is unimplemented in libc++!"
+# error "__cpp_lib_is_constant_evaluated should not be defined when TEST_HAS_BUILTIN(__builtin_is_constant_evaluated) || TEST_GCC_VER >= 900 is not defined!"
# endif
# endif
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
index b85d42d00ca..7735a13db30 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
@@ -1798,16 +1798,16 @@
# endif
# endif
-# if !defined(_LIBCPP_VERSION)
+# if TEST_HAS_BUILTIN(__builtin_is_constant_evaluated) || TEST_GCC_VER >= 900
# ifndef __cpp_lib_is_constant_evaluated
# error "__cpp_lib_is_constant_evaluated should be defined in c++2a"
# endif
# if __cpp_lib_is_constant_evaluated != 201811L
# error "__cpp_lib_is_constant_evaluated should have the value 201811L in c++2a"
# endif
-# else // _LIBCPP_VERSION
+# else
# ifdef __cpp_lib_is_constant_evaluated
-# error "__cpp_lib_is_constant_evaluated should not be defined because it is unimplemented in libc++!"
+# error "__cpp_lib_is_constant_evaluated should not be defined when TEST_HAS_BUILTIN(__builtin_is_constant_evaluated) || TEST_GCC_VER >= 900 is not defined!"
# endif
# endif
OpenPOWER on IntegriCloud