diff options
author | Jonathan Wakely <jwakely.gcc@gmail.com> | 2013-03-16 19:45:53 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2013-03-16 19:45:53 +0000 |
commit | 3442f18d26ec2224d3aeef72cba25540beaa68e8 (patch) | |
tree | 5df54334f014ba2896986b5a10209b3ee2345a10 /libstdc++-v3 | |
parent | b722c9a2a2bb01599706d51554128caa96709a8b (diff) | |
download | gcc-3442f18d26ec2224d3aeef72cba25540beaa68e8.zip gcc-3442f18d26ec2224d3aeef72cba25540beaa68e8.tar.gz gcc-3442f18d26ec2224d3aeef72cba25540beaa68e8.tar.bz2 |
re PR libstdc++/56002 ([C++11] allow generic locks to be used without requiring plattform support for threads)
PR libstdc++/56002
* include/std/mutex (lock_guard, unique_lock, lock): Define without
depending on _GLIBCXX_HAS_GTHREADS.
* testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
From-SVN: r196706
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 7 | ||||
-rw-r--r-- | libstdc++-v3/include/std/mutex | 9 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc | 7 |
3 files changed, 15 insertions, 8 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index e8211a3..8e4c99c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,12 @@ 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com> + PR libstdc++/56002 + * include/std/mutex (lock_guard, unique_lock, lock): Define without + depending on _GLIBCXX_HAS_GTHREADS. + * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets. + +2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com> + PR libstdc++/56492 * include/std/future (__future_base::_Result): Add result_type typedef. diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index e327f28..67f3418 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -45,12 +45,13 @@ #include <bits/gthr.h> #include <bits/move.h> // for std::swap -#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) +#ifdef _GLIBCXX_USE_C99_STDINT_TR1 namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION +#ifdef _GLIBCXX_HAS_GTHREADS // Common base class for std::mutex and std::timed_mutex class __mutex_base { @@ -384,6 +385,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } }; #endif +#endif // _GLIBCXX_HAS_GTHREADS /// Do not acquire ownership of the mutex. struct defer_lock_t { }; @@ -719,6 +721,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } } +#ifdef _GLIBCXX_HAS_GTHREADS /// once_flag struct once_flag { @@ -790,12 +793,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION if (__e) __throw_system_error(__e); } +#endif // _GLIBCXX_HAS_GTHREADS // @} group mutexes _GLIBCXX_END_NAMESPACE_VERSION } // namespace - -#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1 +#endif // _GLIBCXX_USE_C99_STDINT_TR1 #endif // C++11 diff --git a/libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc b/libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc index d92e6ba..cd6d914 100644 --- a/libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc +++ b/libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc @@ -1,9 +1,6 @@ -// { dg-do run { target *-*-freebsd* *-*-netbsd* *-*-linux* *-*-solaris* *-*-cygwin *-*-darwin* powerpc-ibm-aix* } } -// { dg-options " -std=gnu++0x -pthread" { target *-*-freebsd* *-*-netbsd* *-*-linux* powerpc-ibm-aix* } } -// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } } -// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } } +// { dg-do run } +// { dg-options " -std=gnu++11 " } // { dg-require-cstdint "" } -// { dg-require-gthreads "" } // Copyright (C) 2010-2013 Free Software Foundation, Inc. // |