Author: ed
Date: Tue Sep  2 11:16:44 2014
New Revision: 270964
URL: http://svnweb.freebsd.org/changeset/base/270964

Log:
  Clean up <sys/cdefs.h> slightly.
  
  - Remove c++0x hack from <sys/cdefs.h> that was needed when Clang did
    not fully implement C++11. We can now safely test against C++11 to
    check whether thread_local is available, like we do for all other
    C++11 keywords.
  
  - Don't use __clang__ to test for thread safety annotation presence. It
    turns out we have a proper attribute for this.

Modified:
  head/sys/sys/cdefs.h

Modified: head/sys/sys/cdefs.h
==============================================================================
--- head/sys/sys/cdefs.h        Tue Sep  2 10:35:04 2014        (r270963)
+++ head/sys/sys/cdefs.h        Tue Sep  2 11:16:44 2014        (r270964)
@@ -298,8 +298,7 @@
 #endif
 
 #if !__has_extension(c_thread_local)
-/* XXX: Change this to test against C++11 when clang in base supports it. */
-#if /* (defined(__cplusplus) && __cplusplus >= 201103L) || */ \
+#if (defined(__cplusplus) && __cplusplus >= 201103L) || \
     __has_extension(cxx_thread_local)
 #define        _Thread_local           thread_local
 #else
@@ -751,7 +750,7 @@
  * held.
  */
 
-#ifdef __clang__
+#if __has_extension(c_thread_safety_attributes)
 #define        __lock_annotate(x)      __attribute__((x))
 #else
 #define        __lock_annotate(x)
_______________________________________________
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