svn commit: r230225 - head/include

David Chisnall theraven at
Mon Jan 16 18:19:53 UTC 2012

Author: theraven
Date: Mon Jan 16 18:19:53 2012
New Revision: 230225

  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
  Note: Trunk clang now has support for (most of) the C[++]11 atomics stuff.
  Please test!
  Approved by:	brooks (mentor)


Modified: head/include/stdatomic.h
--- head/include/stdatomic.h	Mon Jan 16 17:31:26 2012	(r230224)
+++ head/include/stdatomic.h	Mon Jan 16 18:19:53 2012	(r230225)
@@ -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)

More information about the svn-src-all mailing list