summaryrefslogtreecommitdiffstats
path: root/libcxx/include/__config
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2019-03-05 18:40:49 +0000
committerDavide Italiano <davide@freebsd.org>2019-03-05 18:40:49 +0000
commit6de760ac4e80d6fa26b02e5aa63f8493b3fca2a8 (patch)
tree37c100af2a23b9261812b9dc13e4b711788a1896 /libcxx/include/__config
parent870397739ecda4a2adde401251f09b9580e4f927 (diff)
downloadbcm5719-llvm-6de760ac4e80d6fa26b02e5aa63f8493b3fca2a8.tar.gz
bcm5719-llvm-6de760ac4e80d6fa26b02e5aa63f8493b3fca2a8.zip
Reinstate libc++ patches now that the lldb formatter has been updated.
"[libc++] Fix <atomic> failures on GCC" "[libc++] Change memory_order to an enum class" "[libc++] decoupling Freestanding atomic<T> from libatomic.a" llvm-svn: 355427
Diffstat (limited to 'libcxx/include/__config')
-rw-r--r--libcxx/include/__config17
1 files changed, 15 insertions, 2 deletions
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 84f17a71677..56b2276745b 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -38,6 +38,10 @@
# define _LIBCPP_ABI_VERSION 1
#endif
+#ifndef __STDC_HOSTED__
+# define _LIBCPP_FREESTANDING
+#endif
+
#ifndef _LIBCPP_STD_VER
# if __cplusplus <= 201103L
# define _LIBCPP_STD_VER 11
@@ -1220,9 +1224,18 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(
# define _LIBCPP_HAS_GCC_ATOMIC_IMP
#endif
-#if (!defined(_LIBCPP_HAS_C_ATOMIC_IMP) && !defined(_LIBCPP_HAS_GCC_ATOMIC_IMP)) \
+#if (!defined(_LIBCPP_HAS_C_ATOMIC_IMP) && \
+ !defined(_LIBCPP_HAS_GCC_ATOMIC_IMP) && \
+ !defined(_LIBCPP_HAS_EXTERNAL_ATOMIC_IMP)) \
|| defined(_LIBCPP_HAS_NO_THREADS)
-#define _LIBCPP_HAS_NO_ATOMIC_HEADER
+# define _LIBCPP_HAS_NO_ATOMIC_HEADER
+#else
+# ifndef _LIBCPP_ATOMIC_FLAG_TYPE
+# define _LIBCPP_ATOMIC_FLAG_TYPE bool
+# endif
+# ifdef _LIBCPP_FREESTANDING
+# define _LIBCPP_ATOMIC_ONLY_USE_BUILTINS
+# endif
#endif
#ifndef _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
OpenPOWER on IntegriCloud