svn commit: r239960 - head/include

Ed Schouten ed at FreeBSD.org
Fri Aug 31 22:22:15 UTC 2012


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


More information about the svn-src-all mailing list