svn commit: r230225 - head/include

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


Author: theraven
Date: Mon Jan 16 18:19:53 2012
New Revision: 230225
URL: http://svn.freebsd.org/changeset/base/230225

Log:
  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)

Modified:
  head/include/stdatomic.h

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)
 #else


More information about the svn-src-all mailing list