re PR libstdc++/56002 ([C++11] allow generic locks to be used without requiring platt...
authorJonathan Wakely <jwakely.gcc@gmail.com>
Sat, 16 Mar 2013 19:45:53 +0000 (19:45 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Sat, 16 Mar 2013 19:45:53 +0000 (19:45 +0000)
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

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/mutex
libstdc++-v3/testsuite/30_threads/lock_guard/cons/1.cc

index e8211a307d0a0e41efb5bbf74211537641ffffd8..8e4c99c280c29e3ec9e3660d110232c36321588c 100644 (file)
@@ -1,3 +1,10 @@
+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
index e327f28c1ddda57cc1b69b115745031c4075cde9..67f34185deb185ba7fd70f61e1895ff9fc9cc583 100644 (file)
 #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
 
index d92e6bafe9455d8b51cab459452848c9b7cdcb8a..cd6d9143bdf63fda4fc008146b4c6b94f5926c8a 100644 (file)
@@ -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.
 //