diff options
-rw-r--r-- | libstdc++-v3/include/std/shared_mutex | 17 | ||||
-rw-r--r-- | libstdc++-v3/include/std/version | 4 |
2 files changed, 13 insertions, 8 deletions
diff --git a/libstdc++-v3/include/std/shared_mutex b/libstdc++-v3/include/std/shared_mutex index 414dce3..7d683a0 100644 --- a/libstdc++-v3/include/std/shared_mutex +++ b/libstdc++-v3/include/std/shared_mutex @@ -33,9 +33,14 @@ #if __cplusplus >= 201402L -#include <bits/c++config.h> -#include <condition_variable> +#include <chrono> #include <bits/functexcept.h> +#include <bits/move.h> // move, __exchange +#include <bits/std_mutex.h> // defer_lock_t + +#if ! (_GLIBCXX_USE_PTHREAD_RWLOCK_T && _GTHREAD_USE_MUTEX_TIMEDLOCK) +# include <condition_variable> +#endif namespace std _GLIBCXX_VISIBILITY(default) { @@ -49,11 +54,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #ifdef _GLIBCXX_HAS_GTHREADS #if __cplusplus >= 201703L -#define __cpp_lib_shared_mutex 201505 +#define __cpp_lib_shared_mutex 201505L class shared_mutex; #endif -#define __cpp_lib_shared_timed_mutex 201402 +#define __cpp_lib_shared_timed_mutex 201402L class shared_timed_mutex; /// @cond undocumented @@ -399,7 +404,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif /// @endcond -#if __cplusplus > 201402L +#if __cplusplus >= 201703L /// The standard shared mutex type. class shared_mutex { @@ -814,7 +819,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION release() noexcept { _M_owns = false; - return std::exchange(_M_pm, nullptr); + return std::__exchange(_M_pm, nullptr); } // Getters diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version index 9c16f2c..ebb50a0 100644 --- a/libstdc++-v3/include/std/version +++ b/libstdc++-v3/include/std/version @@ -89,7 +89,7 @@ # define __cpp_lib_quoted_string_io 201304 # define __cpp_lib_robust_nonmodifying_seq_ops 201304 # ifdef _GLIBCXX_HAS_GTHREADS -# define __cpp_lib_shared_timed_mutex 201402 +# define __cpp_lib_shared_timed_mutex 201402L # endif # define __cpp_lib_string_udls 201304 # define __cpp_lib_transparent_operators 201510 @@ -157,7 +157,7 @@ #define __cpp_lib_sample 201603 #ifdef _GLIBCXX_HAS_GTHREADS # define __cpp_lib_scoped_lock 201703 -# define __cpp_lib_shared_mutex 201505 +# define __cpp_lib_shared_mutex 201505L #endif #define __cpp_lib_shared_ptr_weak_type 201606 #define __cpp_lib_string_view 201803L |