[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