diff options
author | Chris Bieneman <beanz@apple.com> | 2015-09-22 21:50:43 +0000 |
---|---|---|
committer | Chris Bieneman <beanz@apple.com> | 2015-09-22 21:50:43 +0000 |
commit | 3c4ed73234869aff99528036c672cb06b7ec070d (patch) | |
tree | 35e2562de0d738ae0acd40da9344088b629abdcc /lib/builtins | |
parent | 908ce765a9d8c0778c2e2986b90a1838b3422770 (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.c | 4 | ||||
-rw-r--r-- | lib/builtins/atomic_flag_clear_explicit.c | 4 | ||||
-rw-r--r-- | lib/builtins/atomic_flag_test_and_set.c | 4 | ||||
-rw-r--r-- | lib/builtins/atomic_flag_test_and_set_explicit.c | 4 | ||||
-rw-r--r-- | lib/builtins/atomic_signal_fence.c | 4 | ||||
-rw-r--r-- | lib/builtins/atomic_thread_fence.c | 4 |
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 |