[libcxx-commits] [PATCH] D150421: [libc++][NFC] Use _LIBCPP_STD_VER instead of __cpp_lib_atomic_is_always_lock_free

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu May 11 20:24:46 PDT 2023


philnik created this revision.
Herald added a project: All.
philnik requested review of this revision.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.

Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D150421

Files:
  libcxx/include/__atomic/aliases.h
  libcxx/include/__atomic/atomic_base.h


Index: libcxx/include/__atomic/atomic_base.h
===================================================================
--- libcxx/include/__atomic/atomic_base.h
+++ libcxx/include/__atomic/atomic_base.h
@@ -33,7 +33,7 @@
 {
     mutable __cxx_atomic_impl<_Tp> __a_;
 
-#if defined(__cpp_lib_atomic_is_always_lock_free)
+#if _LIBCPP_STD_VER >= 17
   static _LIBCPP_CONSTEXPR bool is_always_lock_free = __libcpp_is_always_lock_free<__cxx_atomic_impl<_Tp> >::__value;
 #endif
 
@@ -139,7 +139,7 @@
     __atomic_base(const __atomic_base&) = delete;
 };
 
-#if defined(__cpp_lib_atomic_is_always_lock_free)
+#if _LIBCPP_STD_VER >= 17
 template <class _Tp, bool __b>
 _LIBCPP_CONSTEXPR bool __atomic_base<_Tp, __b>::is_always_lock_free;
 #endif
Index: libcxx/include/__atomic/aliases.h
===================================================================
--- libcxx/include/__atomic/aliases.h
+++ libcxx/include/__atomic/aliases.h
@@ -82,7 +82,7 @@
 
 // atomic_*_lock_free : prefer the contention type most highly, then the largest lock-free type
 
-#ifdef __cpp_lib_atomic_is_always_lock_free
+#if _LIBCPP_STD_VER >= 17
 #  define _LIBCPP_CONTENTION_LOCK_FREE ::std::__libcpp_is_always_lock_free<__cxx_contention_t>::__value
 #else
 #  define _LIBCPP_CONTENTION_LOCK_FREE false


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D150421.521546.patch
Type: text/x-patch
Size: 1268 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230512/9e9081f8/attachment.bin>


More information about the libcxx-commits mailing list