summaryrefslogtreecommitdiffstats
path: root/libcxx/include/__config
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/include/__config
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/include/__config')
-rw-r--r--libcxx/include/__config4
1 files changed, 4 insertions, 0 deletions
diff --git a/libcxx/include/__config b/libcxx/include/__config
index ead522520e8..0488093aa05 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -1257,6 +1257,10 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(
#define _LIBCPP_HAS_NO_BUILTIN_ADDRESSOF
#endif
+#if !__has_builtin(__builtin_is_constant_evaluated) && _GNUC_VER < 900
+#define _LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED
+#endif
+
#if !defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS)
# if defined(_LIBCPP_MSVCRT) || defined(_NEWLIB_VERSION)
# define _LIBCPP_HAS_NO_OFF_T_FUNCTIONS
OpenPOWER on IntegriCloud