summaryrefslogtreecommitdiff
path: root/lib/builtins
diff options
context:
space:
mode:
authorChris Bieneman <beanz@apple.com>2015-09-22 21:50:43 +0000
committerChris Bieneman <beanz@apple.com>2015-09-22 21:50:43 +0000
commit3c4ed73234869aff99528036c672cb06b7ec070d (patch)
tree35e2562de0d738ae0acd40da9344088b629abdcc /lib/builtins
parent908ce765a9d8c0778c2e2986b90a1838b3422770 (diff)
[builtins] Fixing atomic builtins to be compiled out if stdatomic.h isn't available.
This should fix the bots broken by r248322. Reviewed by bogner over my shoulder. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@248328 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/builtins')
-rw-r--r--lib/builtins/atomic_flag_clear.c4
-rw-r--r--lib/builtins/atomic_flag_clear_explicit.c4
-rw-r--r--lib/builtins/atomic_flag_test_and_set.c4
-rw-r--r--lib/builtins/atomic_flag_test_and_set_explicit.c4
-rw-r--r--lib/builtins/atomic_signal_fence.c4
-rw-r--r--lib/builtins/atomic_thread_fence.c4
6 files changed, 24 insertions, 0 deletions
diff --git a/lib/builtins/atomic_flag_clear.c b/lib/builtins/atomic_flag_clear.c
index 15984cd52..173f92a53 100644
--- a/lib/builtins/atomic_flag_clear.c
+++ b/lib/builtins/atomic_flag_clear.c
@@ -12,8 +12,12 @@
*===------------------------------------------------------------------------===
*/
+#if __has_include(<stdatomic.h>)
+
#include <stdatomic.h>
#undef atomic_flag_clear
void atomic_flag_clear(volatile atomic_flag *object) {
return __c11_atomic_store(&(object)->_Value, 0, __ATOMIC_SEQ_CST);
}
+
+#endif
diff --git a/lib/builtins/atomic_flag_clear_explicit.c b/lib/builtins/atomic_flag_clear_explicit.c
index 0f7859c2c..8004c6249 100644
--- a/lib/builtins/atomic_flag_clear_explicit.c
+++ b/lib/builtins/atomic_flag_clear_explicit.c
@@ -12,9 +12,13 @@
*===------------------------------------------------------------------------===
*/
+#if __has_include(<stdatomic.h>)
+
#include <stdatomic.h>
#undef atomic_flag_clear_explicit
void atomic_flag_clear_explicit(volatile atomic_flag *object,
memory_order order) {
return __c11_atomic_store(&(object)->_Value, 0, order);
}
+
+#endif
diff --git a/lib/builtins/atomic_flag_test_and_set.c b/lib/builtins/atomic_flag_test_and_set.c
index 07209fc02..d0ae1c5a7 100644
--- a/lib/builtins/atomic_flag_test_and_set.c
+++ b/lib/builtins/atomic_flag_test_and_set.c
@@ -12,8 +12,12 @@
*===------------------------------------------------------------------------===
*/
+#if __has_include(<stdatomic.h>)
+
#include <stdatomic.h>
#undef atomic_flag_test_and_set
_Bool atomic_flag_test_and_set(volatile atomic_flag *object) {
return __c11_atomic_exchange(&(object)->_Value, 1, __ATOMIC_SEQ_CST);
}
+
+#endif
diff --git a/lib/builtins/atomic_flag_test_and_set_explicit.c b/lib/builtins/atomic_flag_test_and_set_explicit.c
index eaa5be08d..cfc28cbde 100644
--- a/lib/builtins/atomic_flag_test_and_set_explicit.c
+++ b/lib/builtins/atomic_flag_test_and_set_explicit.c
@@ -12,9 +12,13 @@
*===------------------------------------------------------------------------===
*/
+#if __has_include(<stdatomic.h>)
+
#include <stdatomic.h>
#undef atomic_flag_test_and_set_explicit
_Bool atomic_flag_test_and_set_explicit(volatile atomic_flag *object,
memory_order order) {
return __c11_atomic_exchange(&(object)->_Value, 1, order);
}
+
+#endif
diff --git a/lib/builtins/atomic_signal_fence.c b/lib/builtins/atomic_signal_fence.c
index ad292d2f1..3cbf8f2b9 100644
--- a/lib/builtins/atomic_signal_fence.c
+++ b/lib/builtins/atomic_signal_fence.c
@@ -12,8 +12,12 @@
*===------------------------------------------------------------------------===
*/
+#if __has_include(<stdatomic.h>)
+
#include <stdatomic.h>
#undef atomic_signal_fence
void atomic_signal_fence(memory_order order) {
__c11_atomic_signal_fence(order);
}
+
+#endif
diff --git a/lib/builtins/atomic_thread_fence.c b/lib/builtins/atomic_thread_fence.c
index 71f698c9d..7d95f27f9 100644
--- a/lib/builtins/atomic_thread_fence.c
+++ b/lib/builtins/atomic_thread_fence.c
@@ -12,8 +12,12 @@
*===------------------------------------------------------------------------===
*/
+#if __has_include(<stdatomic.h>)
+
#include <stdatomic.h>
#undef atomic_thread_fence
void atomic_thread_fence(memory_order order) {
__c11_atomic_thread_fence(order);
}
+
+#endif