diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2023-08-18 00:13:51 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2023-08-24 13:44:38 +0100 |
commit | e64ad2c84f5ff1922b3f4f5a9af0ad03280e52e1 (patch) | |
tree | d56aa96cadab080182e57d40686a0aa24bfe6bd1 | |
parent | c47430bba62a49a2ca10c99380ce87ceafca8e68 (diff) | |
download | gcc-e64ad2c84f5ff1922b3f4f5a9af0ad03280e52e1.zip gcc-e64ad2c84f5ff1922b3f4f5a9af0ad03280e52e1.tar.gz gcc-e64ad2c84f5ff1922b3f4f5a9af0ad03280e52e1.tar.bz2 |
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 <syncstream>.
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.
-rw-r--r-- | libstdc++-v3/include/std/atomic | 28 | ||||
-rw-r--r-- | libstdc++-v3/include/std/ostream | 6 | ||||
-rw-r--r-- | 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 <ios> #include <bits/ostream_insert.h> +#include <bits/version.h> // __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<typename _CharT, typename _Traits> 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__ |