From: Jonathan Wakely Date: Thu, 17 Aug 2023 23:13:51 +0000 (+0100) Subject: libstdc++: Tweak some preprocessor conditions for feature tests X-Git-Tag: basepoints/gcc-15~6684 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e64ad2c84f5ff1922b3f4f5a9af0ad03280e52e1;p=thirdparty%2Fgcc.git 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. --- diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic index da99169cab5d..713ee2cc5397 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 4711b8a3d966..5f973fa11ed6 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 2c049edcbd60..28582c9df5ce 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__