From e64ad2c84f5ff1922b3f4f5a9af0ad03280e52e1 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Fri, 18 Aug 2023 00:13:51 +0100 Subject: libstdc++: Tweak some preprocessor conditions for feature tests Update a preprocessor condition using __cplusplus and _GLIBCXX_HOSTED to use the relevant feature test macro for . Also add comments to some conditions saying which C++ standard revision the check corresponds to. libstdc++-v3/ChangeLog: * include/std/atomic: Add comment to #ifdef and fix indentation. * include/std/ostream: Check __glibcxx_syncbuf instead of __cplusplus and _GLIBCXX_HOSTED. * include/std/thread: Add comment to #ifdef. --- libstdc++-v3/include/std/atomic | 28 ++++++++++++++-------------- libstdc++-v3/include/std/ostream | 6 +++--- libstdc++-v3/include/std/thread | 2 +- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic index da99169..713ee2c 100644 --- a/libstdc++-v3/include/std/atomic +++ b/libstdc++-v3/include/std/atomic @@ -388,23 +388,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION { return compare_exchange_strong(__e, __i, __m, __cmpexch_failure_order(__m)); } -#if __cpp_lib_atomic_wait - void - wait(_Tp __old, memory_order __m = memory_order_seq_cst) const noexcept - { - std::__atomic_wait_address_v(&_M_i, __old, - [__m, this] { return this->load(__m); }); - } +#if __cpp_lib_atomic_wait // C++ >= 20 + void + wait(_Tp __old, memory_order __m = memory_order_seq_cst) const noexcept + { + std::__atomic_wait_address_v(&_M_i, __old, + [__m, this] { return this->load(__m); }); + } - // TODO add const volatile overload + // TODO add const volatile overload - void - notify_one() noexcept - { std::__atomic_notify_address(&_M_i, false); } + void + notify_one() noexcept + { std::__atomic_notify_address(&_M_i, false); } - void - notify_all() noexcept - { std::__atomic_notify_address(&_M_i, true); } + void + notify_all() noexcept + { std::__atomic_notify_address(&_M_i, true); } #endif // __cpp_lib_atomic_wait }; diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream index 4711b8a3d..5f973fa 100644 --- a/libstdc++-v3/include/std/ostream +++ b/libstdc++-v3/include/std/ostream @@ -39,6 +39,7 @@ #include #include +#include // __glibcxx_syncbuf namespace std _GLIBCXX_VISIBILITY(default) { @@ -804,7 +805,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return std::move(__os); } -#if __cplusplus > 201703L && _GLIBCXX_USE_CXX11_ABI +#ifdef __glibcxx_syncbuf // C++ >= 20 && HOSTED && CXX11ABI template class __syncbuf_base : public basic_streambuf<_CharT, _Traits> { @@ -869,8 +870,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION __os.flush(); return __os; } - -#endif // C++20 +#endif // __glibcxx_syncbuf #endif // C++11 diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread index 2c049ed..28582c9 100644 --- a/libstdc++-v3/include/std/thread +++ b/libstdc++-v3/include/std/thread @@ -106,7 +106,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } /// @} -#ifdef __cpp_lib_jthread +#ifdef __cpp_lib_jthread // C++ >= 20 /// @cond undocumented #ifndef __STRICT_ANSI__ -- cgit v1.1