diff options
author | theraven <theraven@FreeBSD.org> | 2012-01-16 18:19:53 +0000 |
---|---|---|
committer | theraven <theraven@FreeBSD.org> | 2012-01-16 18:19:53 +0000 |
commit | 5a45f730a5625608124e818a7be2c3dbd2d20512 (patch) | |
tree | 235057686e3142a55712817dd934812ef1375aec /include | |
parent | 05c07bee542bd3b0ec55103ffdc08a2d2709830b (diff) | |
download | FreeBSD-src-5a45f730a5625608124e818a7be2c3dbd2d20512.zip FreeBSD-src-5a45f730a5625608124e818a7be2c3dbd2d20512.tar.gz |
Use the signal fence builtin in stdatomic.h when using the clang atomic
builtins, rather than the __asm hack. Somehow I missed the existence of this
builtin originally and only noticed that it was there when I went to implement
it...
Note: Trunk clang now has support for (most of) the C[++]11 atomics stuff.
Please test!
Approved by: brooks (mentor)
Diffstat (limited to 'include')
-rw-r--r-- | include/stdatomic.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/include/stdatomic.h b/include/stdatomic.h index b58a73b..8a40ae2 100644 --- a/include/stdatomic.h +++ b/include/stdatomic.h @@ -104,10 +104,7 @@ enum memory_order { * 7.17.4 Fences. */ -#if defined(__CLANG_ATOMICS) -#define atomic_thread_fence(order) __atomic_thread_fence(order) -#define atomic_signal_fence(order) __asm volatile ("" : : : "memory") -#elif defined(__GNUC_ATOMICS) +#if defined(__CLANG_ATOMICS) || defined(__GNUC_ATOMICS) #define atomic_thread_fence(order) __atomic_thread_fence(order) #define atomic_signal_fence(order) __atomic_signal_fence(order) #else |