[libcxx-commits] [libcxx] 71f95ec - [libc++] Move _LIBCPP_NO_THREAD_SAFETY_ANALYSIS to __config

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jul 17 13:06:58 PDT 2023


Author: Louis Dionne
Date: 2023-07-17T16:06:46-04:00
New Revision: 71f95ecff27e4032ff1c5d196230b42f76a6eb5f

URL: https://github.com/llvm/llvm-project/commit/71f95ecff27e4032ff1c5d196230b42f76a6eb5f
DIFF: https://github.com/llvm/llvm-project/commit/71f95ecff27e4032ff1c5d196230b42f76a6eb5f.diff

LOG: [libc++] Move _LIBCPP_NO_THREAD_SAFETY_ANALYSIS to __config

This makes __threading_support contain nothing but the base threading
API provided by the system.

Differential Revision: https://reviews.llvm.org/D155458

Added: 
    

Modified: 
    libcxx/include/__config
    libcxx/include/__threading_support

Removed: 
    


################################################################################
diff  --git a/libcxx/include/__config b/libcxx/include/__config
index 5aa56bfb5a0c46..56e282737ad446 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -1137,6 +1137,12 @@ __sanitizer_verify_double_ended_contiguous_container(const void*, const void*, c
 #    define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
 #  endif
 
+#  if defined(__FreeBSD__) && defined(__clang__) && __has_attribute(__no_thread_safety_analysis__)
+#    define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS __attribute__((__no_thread_safety_analysis__))
+#  else
+#    define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
+#  endif
+
 #  if defined(_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS)
 #    if defined(__clang__) && __has_attribute(acquire_capability)
 // Work around the attribute handling in clang.  When both __declspec and

diff  --git a/libcxx/include/__threading_support b/libcxx/include/__threading_support
index 97df18b99d4633..3abb3b0b46ebd1 100644
--- a/libcxx/include/__threading_support
+++ b/libcxx/include/__threading_support
@@ -42,12 +42,6 @@
 #define _LIBCPP_THREAD_ABI_VISIBILITY inline _LIBCPP_INLINE_VISIBILITY
 #endif
 
-#if defined(__FreeBSD__) && defined(__clang__) && __has_attribute(no_thread_safety_analysis)
-#define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS __attribute__((no_thread_safety_analysis))
-#else
-#define _LIBCPP_NO_THREAD_SAFETY_ANALYSIS
-#endif
-
 typedef ::timespec __libcpp_timespec_t;
 #endif // !defined(_LIBCPP_HAS_NO_THREADS)
 


        


More information about the libcxx-commits mailing list