diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2020-11-26 21:54:46 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2020-11-26 22:36:44 +0000 |
commit | 71988274865bf049c7705ce33350661b75f0af74 (patch) | |
tree | 0eff933df3be116454f338c4736e401192c92b01 | |
parent | 1a00786414c7ee2f228562fab5c43491a13284c1 (diff) | |
download | gcc-71988274865bf049c7705ce33350661b75f0af74.zip gcc-71988274865bf049c7705ce33350661b75f0af74.tar.gz gcc-71988274865bf049c7705ce33350661b75f0af74.tar.bz2 |
libstdc++: Only define std::latch if atomic waiting is available
libstdc++-v3/ChangeLog:
* include/std/latch: Depend on _GLIBCXX_HAS_GTHREADS and
_GLIBCXX_HAVE_LINUX_FUTEX.
* include/std/version (__cpp_lib_latch): Define conditionally.
-rw-r--r-- | libstdc++-v3/include/std/latch | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/std/version | 6 |
2 files changed, 9 insertions, 4 deletions
diff --git a/libstdc++-v3/include/std/latch b/libstdc++-v3/include/std/latch index 9d9c880..3af295b 100644 --- a/libstdc++-v3/include/std/latch +++ b/libstdc++-v3/include/std/latch @@ -27,20 +27,22 @@ */ #ifndef _GLIBCXX_LATCH -#define _GLIBCXX_LATCH +#define _GLIBCXX_LATCH 1 #pragma GCC system_header #if __cplusplus > 201703L -#define __cpp_lib_latch 201907L #include <bits/atomic_base.h> #include <ext/numeric_traits.h> +#if defined _GLIBCXX_HAS_GTHREADS || _GLIBCXX_HAVE_LINUX_FUTEX namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION +#define __cpp_lib_latch 201907L + class latch { public: @@ -87,5 +89,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION }; _GLIBCXX_END_NAMESPACE_VERSION } // namespace +#endif // GTHREADS || LINUX_FUTEX #endif // __cplusplus > 201703L #endif // _GLIBCXX_LATCH diff --git a/libstdc++-v3/include/std/version b/libstdc++-v3/include/std/version index cf0454d..0f2da8a 100644 --- a/libstdc++-v3/include/std/version +++ b/libstdc++-v3/include/std/version @@ -216,7 +216,9 @@ #ifdef _GLIBCXX_HAS_GTHREADS # define __cpp_lib_jthread 201911L #endif -#define __cpp_lib_latch 201907L +#if defined _GLIBCXX_HAS_GTHREADS || defined _GLIBCXX_HAVE_LINUX_FUTEX +# define __cpp_lib_latch 201907L +#endif #define __cpp_lib_list_remove_return_type 201806L #if __cpp_lib_concepts # define __cpp_lib_make_obj_using_allocator 201811L @@ -226,7 +228,7 @@ #if __cpp_lib_concepts # define __cpp_lib_ranges 201911L #endif -#if defined _GLIBCXX_HAS_GTHREADS || _GLIBCXX_HAVE_LINUX_FUTEX +#if defined _GLIBCXX_HAS_GTHREADS || defined _GLIBCXX_HAVE_LINUX_FUTEX # define __cpp_lib_semaphore 201907L #endif #define __cpp_lib_shift 201806L |