diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2023-01-12 13:03:01 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2023-01-13 00:15:01 +0000 |
commit | 227351345d0caa596eff8325144f15b15f704c08 (patch) | |
tree | 1e3c2029679941befce2fcc5551949790c0c496c /libstdc++-v3/include | |
parent | c0597d81b13c0cac41a9381fc5f3e6c73aa2ccaf (diff) | |
download | gcc-227351345d0caa596eff8325144f15b15f704c08.zip gcc-227351345d0caa596eff8325144f15b15f704c08.tar.gz gcc-227351345d0caa596eff8325144f15b15f704c08.tar.bz2 |
libstdc++: Do not include <system_error> in concurrency headers
The <condition_variable>, <mutex>, and <shared_mutex> headers use
std::errc constants, but don't use std::system_error itself. They only
use the __throw_system_error(int) function, which is defined in
<bits/functexcept.h>.
By including the header for the errc constants instead of the whole of
<system_error> we avoid depending on the whole std::string definition.
libstdc++-v3/ChangeLog:
* include/bits/std_mutex.h: Remove <system_error> include.
* include/std/condition_variable: Add <bits/error_constants.h>
include.
* include/std/mutex: Likewise.
* include/std/shared_mutex: Likewise.
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r-- | libstdc++-v3/include/bits/std_mutex.h | 1 | ||||
-rw-r--r-- | libstdc++-v3/include/std/condition_variable | 3 | ||||
-rw-r--r-- | libstdc++-v3/include/std/mutex | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/std/shared_mutex | 1 |
4 files changed, 4 insertions, 3 deletions
diff --git a/libstdc++-v3/include/bits/std_mutex.h b/libstdc++-v3/include/bits/std_mutex.h index 68f5fb9..bc51535 100644 --- a/libstdc++-v3/include/bits/std_mutex.h +++ b/libstdc++-v3/include/bits/std_mutex.h @@ -36,7 +36,6 @@ # include <bits/c++0x_warning.h> #else -#include <system_error> #include <bits/functexcept.h> #include <bits/gthr.h> diff --git a/libstdc++-v3/include/std/condition_variable b/libstdc++-v3/include/std/condition_variable index b885e1b..f671fe4 100644 --- a/libstdc++-v3/include/std/condition_variable +++ b/libstdc++-v3/include/std/condition_variable @@ -38,6 +38,7 @@ #else #include <bits/chrono.h> +#include <bits/error_constants.h> #include <bits/std_mutex.h> #include <bits/unique_lock.h> #include <bits/alloc_traits.h> @@ -372,7 +373,7 @@ _GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(_V2) { return __p(); } - + std::stop_callback __cb(__stoken, [this] { notify_all(); }); shared_ptr<mutex> __mutex = _M_mutex; while (!__p()) diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index aca5f91..4eedbe5 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -40,8 +40,8 @@ #include <tuple> #include <exception> #include <type_traits> -#include <system_error> #include <bits/chrono.h> +#include <bits/error_constants.h> #include <bits/std_mutex.h> #include <bits/unique_lock.h> #if ! _GTHREAD_USE_MUTEX_TIMEDLOCK diff --git a/libstdc++-v3/include/std/shared_mutex b/libstdc++-v3/include/std/shared_mutex index 7b70697..57c3cc5 100644 --- a/libstdc++-v3/include/std/shared_mutex +++ b/libstdc++-v3/include/std/shared_mutex @@ -36,6 +36,7 @@ #if __cplusplus >= 201402L #include <bits/chrono.h> +#include <bits/error_constants.h> #include <bits/functexcept.h> #include <bits/move.h> // move, __exchange #include <bits/std_mutex.h> // defer_lock_t |