From patchwork Thu Oct 20 23:43:44 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonathan Wakely X-Patchwork-Id: 120915 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id C5D251007D1 for ; Fri, 21 Oct 2011 10:44:12 +1100 (EST) Received: (qmail 12752 invoked by alias); 20 Oct 2011 23:44:09 -0000 Received: (qmail 12731 invoked by uid 22791); 20 Oct 2011 23:44:05 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, TW_CX, TW_XX X-Spam-Check-By: sourceware.org Received: from mail-ww0-f41.google.com (HELO mail-ww0-f41.google.com) (74.125.82.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 20 Oct 2011 23:43:47 +0000 Received: by wwe32 with SMTP id 32so191749wwe.2 for ; Thu, 20 Oct 2011 16:43:45 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.221.163 with SMTP id r35mr4774191wep.21.1319154224526; Thu, 20 Oct 2011 16:43:44 -0700 (PDT) Received: by 10.216.36.78 with HTTP; Thu, 20 Oct 2011 16:43:44 -0700 (PDT) Date: Fri, 21 Oct 2011 00:43:44 +0100 Message-ID: Subject: [v3] libstdc++/50196 - enable std::thread, std::mutex etc. on darwin From: Jonathan Wakely To: "libstdc++" , gcc-patches Cc: Jakub Jelinek Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org This patch should enable macosx support for and partial support for , 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. Paolo, Jakub, I'd appreciate it if you two could check this over, as you were responsible for some of this autoconf stuff, via http://gcc.gnu.org/PR49745 I've only tested this on x86-64-linux where everything is supported anyway, but I did tweak the configure test for _POSIX_TIMEOUTS to fail, so I could check the tests were correctly disabled when _GTHREADS_HAS_MUTEX_TIMEDLOCK is zero. If anyone can test this on darwin I'd be very grateful (you'll need to run autoreconf in the libstdc++-v3 directory to regenerate configure and config.h.in, or contact me and I'll mail you the regenerated files) ChangeLog: * acinclude.m4 (GTHREADS_HAS_MUTEX_TIMEDLOCK): Don't depend on _POSIX_TIMEOUTS. * configure: Regenerate. * config.h.in: 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,7 +3358,7 @@ 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]) + AC_MSG_CHECKING([whether it can be safely assumed that mutex_timedlock is available]) AC_TRY_COMPILE([#include ], [ @@ -3382,20 +3382,11 @@ AC_MSG_CHECKING([for gthreads library]) - AC_TRY_COMPILE([ - #include "gthr.h" - #include - ], + 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 " + 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 -// 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 -// 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