[libcxx-commits] [libcxx] [libc++] Move _LIBCPP_HAS_COND_CLOCKWAIT into condition_variable.h (PR #222904)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Fri Sep 11 02:52:06 PDT 2026


https://github.com/philnik777 created https://github.com/llvm/llvm-project/pull/222904

`_LIBCPP_HAS_COND_CLOCKWAIT` is only used inside `<__condition_variable/condition_variable.h>`, so we might as well move it there.


>From 2fd4a8087248d197e19a8896840d6c47ca03a39d Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Fri, 11 Sep 2026 11:51:15 +0200
Subject: [PATCH] [libc++] Move _LIBCPP_HAS_COND_CLOCKWAIT into
 condition_variable.h

---
 libcxx/include/__condition_variable/condition_variable.h | 8 ++++++++
 libcxx/include/__config                                  | 8 --------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/libcxx/include/__condition_variable/condition_variable.h b/libcxx/include/__condition_variable/condition_variable.h
index a29b66152981d..f95de5391918f 100644
--- a/libcxx/include/__condition_variable/condition_variable.h
+++ b/libcxx/include/__condition_variable/condition_variable.h
@@ -36,6 +36,14 @@ _LIBCPP_PUSH_MACROS
 _LIBCPP_BEGIN_NAMESPACE_STD
 _LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS
 
+#  if !_LIBCPP_HAS_THREAD_API_PTHREAD
+#    define _LIBCPP_HAS_COND_CLOCKWAIT 0
+#  elif (defined(__ANDROID__) && __ANDROID_API__ >= 30) || _LIBCPP_GLIBC_PREREQ(2, 30)
+#    define _LIBCPP_HAS_COND_CLOCKWAIT 1
+#  else
+#    define _LIBCPP_HAS_COND_CLOCKWAIT 0
+#  endif
+
 // enum class cv_status
 _LIBCPP_DECLARE_STRONG_ENUM(cv_status){no_timeout, timeout};
 _LIBCPP_DECLARE_STRONG_ENUM_EPILOG(cv_status)
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 8cbf9b15b6ab8..e902d591b725c 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -224,14 +224,6 @@ typedef __char32_t char32_t;
 #    endif // _LIBCPP_HAS_THREAD_API
 #  endif   // _LIBCPP_HAS_THREADS
 
-#  if !_LIBCPP_HAS_THREAD_API_PTHREAD
-#    define _LIBCPP_HAS_COND_CLOCKWAIT 0
-#  elif (defined(__ANDROID__) && __ANDROID_API__ >= 30) || _LIBCPP_GLIBC_PREREQ(2, 30)
-#    define _LIBCPP_HAS_COND_CLOCKWAIT 1
-#  else
-#    define _LIBCPP_HAS_COND_CLOCKWAIT 0
-#  endif
-
 #  if !_LIBCPP_HAS_THREADS && _LIBCPP_HAS_THREAD_API_PTHREAD
 #    error _LIBCPP_HAS_THREAD_API_PTHREAD may only be true when _LIBCPP_HAS_THREADS is true.
 #  endif



More information about the libcxx-commits mailing list