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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to