Skip to content

Commit 3bad740

Browse files
committed
Guard for C++20
1 parent e708ac3 commit 3bad740

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

libcxx/include/__atomic/atomic_sync.h

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ struct __atomic_waitable< _Tp,
5757
decltype(__atomic_waitable_traits<__decay_t<_Tp> >::__atomic_contention_address(
5858
std::declval<const _Tp&>()))> > : true_type {};
5959

60-
#if _LIBCPP_HAS_THREADS
60+
#if _LIBCPP_STD_VER >= 20
61+
# if _LIBCPP_HAS_THREADS
6162

6263
_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void __cxx_atomic_notify_one(void const volatile*) _NOEXCEPT;
6364
_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void __cxx_atomic_notify_all(void const volatile*) _NOEXCEPT;
@@ -156,7 +157,7 @@ _LIBCPP_AVAILABILITY_SYNC _LIBCPP_HIDE_FROM_ABI void __atomic_notify_all(const _
156157
std::__cxx_atomic_notify_all(__atomic_waitable_traits<__decay_t<_AtomicWaitable> >::__atomic_contention_address(__a));
157158
}
158159

159-
#else // _LIBCPP_HAS_THREADS
160+
# else // _LIBCPP_HAS_THREADS
160161

161162
template <class _AtomicWaitable, class _Poll>
162163
_LIBCPP_HIDE_FROM_ABI void __atomic_wait_unless(const _AtomicWaitable& __a, memory_order __order, _Poll&& __poll) {
@@ -175,7 +176,7 @@ _LIBCPP_HIDE_FROM_ABI void __atomic_notify_one(const _AtomicWaitable&) {}
175176
template <class _AtomicWaitable>
176177
_LIBCPP_HIDE_FROM_ABI void __atomic_notify_all(const _AtomicWaitable&) {}
177178

178-
#endif // _LIBCPP_HAS_THREADS
179+
# endif // _LIBCPP_HAS_THREADS
179180

180181
template <typename _Tp>
181182
_LIBCPP_HIDE_FROM_ABI bool __cxx_nonatomic_compare_equal(_Tp const& __lhs, _Tp const& __rhs) {
@@ -191,6 +192,8 @@ __atomic_wait(_AtomicWaitable& __a, _Tp __val, memory_order __order) {
191192
});
192193
}
193194

195+
#endif // C++20
196+
194197
_LIBCPP_END_NAMESPACE_STD
195198

196199
#endif // _LIBCPP___ATOMIC_ATOMIC_SYNC_H

0 commit comments

Comments
 (0)