Author: ed
Date: Fri Aug 31 22:22:14 2012
New Revision: 239960
URL: http://svn.freebsd.org/changeset/base/239960

Log:
  Properly enable Clang-style atomics when available.
  
  In addition to testing against cxx_atomic, we must check c_atomic. The
  former is only set when building C++ code. Also use __has_extension
  instead of __has_feature. This allows us to use the atomics outside of
  C11.
  
  Reported by:  Ariane van der Steldt <ariane stack nl>
  PR:           threads/170073

Modified:
  head/include/stdatomic.h

Modified: head/include/stdatomic.h
==============================================================================
--- head/include/stdatomic.h    Fri Aug 31 21:45:49 2012        (r239959)
+++ head/include/stdatomic.h    Fri Aug 31 22:22:14 2012        (r239960)
@@ -33,7 +33,7 @@
 #include <sys/cdefs.h>
 #include <sys/_types.h>
 
-#if __has_feature(cxx_atomic)
+#if __has_extension(c_atomic) || __has_extension(cxx_atomic)
 #define        __CLANG_ATOMICS
 #elif __GNUC_PREREQ__(4, 7)
 #define        __GNUC_ATOMICS
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to