This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [v3] libstdc++/50196 - enable std::thread, std::mutex etc. on darwin
On 21 October 2011 09:15, Jonathan Wakely wrote:
> On 21 October 2011 00:43, Jonathan Wakely wrote:
>> This patch should enable macosx support for <thread> and partial
>> support for <mutex>, by defining _GLIBCXX_HAS_GTHREADS on POSIX
>> systems without the _POSIX_TIMEOUTS option, and only disabling the
>> types which rely on the Timeouts option, std::timed_mutex and
>> std::recursive_timed_mutex, instead of disabling all thread support.
>
> I've just realised this patch will disable the timed mutexes on
> non-posix platforms - I should only check for _POSIX_TIMEOUTS when
> thread-model = posix, and set HAS_MUTEX_TIMEDLOCK unconditionally
> elsewhere.
Updated patch so that _GTHREADS_HAS_MUTEX_TIMED_LOCK is 1 for
non-posix systems and posix systems that support the Timeouts option.
Tested x86_64-linux. I think this is OK now and plan to commit it
over the weekend.
* acinclude.m4 (GLIBCXX_HAS_GTHREADS): Don't depend on _POSIX_TIMEOUTS.
* configure: Regenerate.
* include/std/mutex (timed_mutex, recursive_timed_mutex): Define
conditionally on GTHREADS_HAS_MUTEX_TIMEDLOCK.
* testsuite/lib/libstdc++.exp (check_v3_target_gthreads_timed): Define.
* testsuite/lib/dg-options.exp (dg-require-gthreads-timed): Define.
* testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
Use dg-require-gthreads-timed instead of dg-require-gthreads.
* testsuite/30_threads/recursive_timed_mutex/native_handle/
typesizes.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
Likewise.
* testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
Likewise.
* testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
Likewise.
* testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/timed_mutex/requirements/standard_layout.cc:
Likewise.
* testsuite/30_threads/timed_mutex/requirements/typedefs.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
* testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
Index: acinclude.m4
===================================================================
--- acinclude.m4 (revision 180278)
+++ acinclude.m4 (working copy)
@@ -3358,11 +3358,19 @@
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -fno-exceptions -I${toplevel_srcdir}/gcc"
- AC_MSG_CHECKING([check whether it can be safely assumed that mutex_timedlock is available])
+ target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'`
+ case $target_thread_file in
+ posix)
+ CXXFLAGS="$CXXFLAGS -DSUPPORTS_WEAK -DGTHREAD_USE_WEAK -D_PTHREADS"
+ esac
+ AC_MSG_CHECKING([whether it can be safely assumed that mutex_timedlock is available])
+
AC_TRY_COMPILE([#include <unistd.h>],
[
- #if !defined(_POSIX_TIMEOUTS) || _POSIX_TIMEOUTS < 0
+ // In case of POSIX threads check _POSIX_TIMEOUTS.
+ #if (defined(_PTHREADS) \
+ && (!defined(_POSIX_TIMEOUTS) || _POSIX_TIMEOUTS <= 0))
#error
#endif
], [ac_gthread_use_mutex_timedlock=1], [ac_gthread_use_mutex_timedlock=0])
@@ -3374,28 +3382,13 @@
else res_mutex_timedlock=no ; fi
AC_MSG_RESULT([$res_mutex_timedlock])
- target_thread_file=`$CXX -v 2>&1 | sed -n 's/^Thread model: //p'`
- case $target_thread_file in
- posix)
- CXXFLAGS="$CXXFLAGS -DSUPPORTS_WEAK -DGTHREAD_USE_WEAK -D_PTHREADS"
- esac
-
AC_MSG_CHECKING([for gthreads library])
- AC_TRY_COMPILE([
- #include "gthr.h"
- #include <unistd.h>
- ],
+ AC_TRY_COMPILE([#include "gthr.h"],
[
#ifndef __GTHREADS_CXX0X
#error
#endif
-
- // In case of POSIX threads check _POSIX_TIMEOUTS too.
- #if (defined(_PTHREADS) \
- && (!defined(_POSIX_TIMEOUTS) || _POSIX_TIMEOUTS <= 0))
- #error
- #endif
], [ac_has_gthreads=yes], [ac_has_gthreads=no])
AC_MSG_RESULT([$ac_has_gthreads])
Index: include/std/mutex
===================================================================
--- include/std/mutex (revision 180278)
+++ include/std/mutex (working copy)
@@ -206,6 +206,7 @@
{ return &_M_mutex; }
};
+#if _GTHREAD_USE_MUTEX_TIMEDLOCK
/// timed_mutex
class timed_mutex
{
@@ -417,6 +418,7 @@
return try_lock_until(__atime);
}
};
+#endif
/// Do not acquire ownership of the mutex.
struct defer_lock_t { };
Index: testsuite/lib/libstdc++.exp
===================================================================
--- testsuite/lib/libstdc++.exp (revision 180278)
+++ testsuite/lib/libstdc++.exp (working copy)
@@ -1299,6 +1299,66 @@
return $et_gthreads
}
+proc check_v3_target_gthreads_timed { } {
+ global cxxflags
+ global DEFAULT_CXXFLAGS
+ global et_gthreads_timed
+
+ global tool
+
+ if { ![info exists et_gthreads_timed_target_name] } {
+ set et_gthreads_timed_target_name ""
+ }
+
+ # If the target has changed since we set the cached value, clear it.
+ set current_target [current_target_name]
+ if { $current_target != $et_gthreads_timed_target_name } {
+ verbose "check_v3_target_gthreads_timed: `$et_gthreads_timed_target_name'" 2
+ set et_gthreads_timed_target_name $current_target
+ if [info exists et_gthreads_timed] {
+ verbose "check_v3_target_gthreads_timed: removing cached result" 2
+ unset et_gthreads_timed
+ }
+ }
+
+ if [info exists et_gthreads_timed] {
+ verbose "check_v3_target_gthreads_timed: using cached result" 2
+ } else {
+ set et_gthreads_timed 0
+
+ # Set up and preprocess a C++0x test program that depends
+ # on the gthreads timed mutex facilities to be available.
+ set src gthreads_timed[pid].cc
+
+ set f [open $src "w"]
+ puts $f "#include <bits/c++config.h>"
+ puts $f "#ifndef _GLIBCXX_HAS_GTHREADS"
+ puts $f "# error No gthread"
+ puts $f "#endif"
+ puts $f "#if !_GTHREAD_USE_MUTEX_TIMEDLOCK"
+ puts $f "# error No gthread timed mutexes"
+ puts $f "#endif"
+ close $f
+
+ set cxxflags_saved $cxxflags
+ set cxxflags "$cxxflags $DEFAULT_CXXFLAGS -Werror"
+
+ set lines [v3_target_compile $src /dev/null preprocess ""]
+ set cxxflags $cxxflags_saved
+ file delete $src
+
+ if [string match "" $lines] {
+ # No error message, preprocessing succeeded.
+ set et_gthreads_timed 1
+ } else {
+ verbose "check_v3_target_gthreads_timed: compilation failed" 2
+ }
+ }
+ verbose "check_v3_target_gthreads_timed: $et_gthreads_timed" 2
+ return $et_gthreads_timed
+}
+
+
proc check_v3_target_nanosleep { } {
global cxxflags
global DEFAULT_CXXFLAGS
Index: testsuite/lib/dg-options.exp
===================================================================
--- testsuite/lib/dg-options.exp (revision 180278)
+++ testsuite/lib/dg-options.exp (working copy)
@@ -134,6 +134,15 @@
return
}
+proc dg-require-gthreads-timed { args } {
+ if { ![ check_v3_target_gthreads_timed ] } {
+ upvar dg-do-what dg-do-what
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
+ return
+ }
+ return
+}
+
proc dg-require-nanosleep { args } {
if { ![ check_v3_target_nanosleep ] } {
upvar dg-do-what dg-do-what
Index: testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc (working copy)
@@ -1,9 +1,9 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/cons/1.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/cons/1.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/cons/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc (working copy)
@@ -1,9 +1,9 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/requirements/typedefs.cc (working copy)
@@ -1,11 +1,11 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
// 2008-03-18 Benjamin Kosnik <bkoz@redhat.com>
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options "-std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options "-std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/lock/1.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/lock/1.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/lock/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/lock/2.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/lock/2.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/lock/2.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/unlock/1.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/unlock/1.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/unlock/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc
===================================================================
--- testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc (revision 180278)
+++ testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/dest/destructor_locked.cc
===================================================================
--- testsuite/30_threads/timed_mutex/dest/destructor_locked.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/dest/destructor_locked.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/native_handle/typesizes.cc
===================================================================
--- testsuite/30_threads/timed_mutex/native_handle/typesizes.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/native_handle/typesizes.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/native_handle/1.cc
===================================================================
--- testsuite/30_threads/timed_mutex/native_handle/1.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/native_handle/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/try_lock_until/1.cc
===================================================================
--- testsuite/30_threads/timed_mutex/try_lock_until/1.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/try_lock_until/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/try_lock_until/2.cc
===================================================================
--- testsuite/30_threads/timed_mutex/try_lock_until/2.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/try_lock_until/2.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/cons/assign_neg.cc
===================================================================
--- testsuite/30_threads/timed_mutex/cons/assign_neg.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/cons/assign_neg.cc (working copy)
@@ -1,9 +1,9 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/cons/1.cc
===================================================================
--- testsuite/30_threads/timed_mutex/cons/1.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/cons/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/cons/copy_neg.cc
===================================================================
--- testsuite/30_threads/timed_mutex/cons/copy_neg.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/cons/copy_neg.cc (working copy)
@@ -1,9 +1,9 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/requirements/standard_layout.cc
===================================================================
--- testsuite/30_threads/timed_mutex/requirements/standard_layout.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/requirements/standard_layout.cc (working copy)
@@ -1,9 +1,9 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2009 Free Software Foundation, Inc.
+// Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/requirements/typedefs.cc
===================================================================
--- testsuite/30_threads/timed_mutex/requirements/typedefs.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/requirements/typedefs.cc (working copy)
@@ -1,11 +1,11 @@
// { dg-do compile }
// { dg-options "-std=gnu++0x" }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
// 2008-07-23 Chris Fairles <chris.fairles@gmail.com>
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/try_lock/1.cc
===================================================================
--- testsuite/30_threads/timed_mutex/try_lock/1.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/try_lock/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/try_lock/2.cc
===================================================================
--- testsuite/30_threads/timed_mutex/try_lock/2.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/try_lock/2.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/lock/1.cc
===================================================================
--- testsuite/30_threads/timed_mutex/lock/1.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/lock/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/unlock/1.cc
===================================================================
--- testsuite/30_threads/timed_mutex/unlock/1.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/unlock/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/try_lock_for/1.cc
===================================================================
--- testsuite/30_threads/timed_mutex/try_lock_for/1.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/try_lock_for/1.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/try_lock_for/2.cc
===================================================================
--- testsuite/30_threads/timed_mutex/try_lock_for/2.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/try_lock_for/2.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
Index: testsuite/30_threads/timed_mutex/try_lock_for/3.cc
===================================================================
--- testsuite/30_threads/timed_mutex/try_lock_for/3.cc (revision 180278)
+++ testsuite/30_threads/timed_mutex/try_lock_for/3.cc (working copy)
@@ -3,9 +3,9 @@
// { dg-options " -std=gnu++0x -pthreads" { target *-*-solaris* } }
// { dg-options " -std=gnu++0x " { target *-*-cygwin *-*-darwin* } }
// { dg-require-cstdint "" }
-// { dg-require-gthreads "" }
+// { dg-require-gthreads-timed "" }
-// Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the