diff options
author | Jonathan Wakely <jwakely.gcc@gmail.com> | 2011-10-22 21:31:24 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2011-10-22 22:31:24 +0100 |
commit | 3b2eeb43cfea2083ddd3b30d908418005f273432 (patch) | |
tree | 621f9002ec44cd4395c9dd19659892c43049e647 /libstdc++-v3/acinclude.m4 | |
parent | ad2305adb4957005096c0fd019a1cb7071879abd (diff) | |
download | gcc-3b2eeb43cfea2083ddd3b30d908418005f273432.zip gcc-3b2eeb43cfea2083ddd3b30d908418005f273432.tar.gz gcc-3b2eeb43cfea2083ddd3b30d908418005f273432.tar.bz2 |
re PR libstdc++/50196 ([C++0x] std::thread not available under macos)
PR libstdc++/50196
* 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.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
From-SVN: r180329
Diffstat (limited to 'libstdc++-v3/acinclude.m4')
-rw-r--r-- | libstdc++-v3/acinclude.m4 | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 7196acf..0ee61bf 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -3358,11 +3358,19 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [ 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 @@ AC_DEFUN([GLIBCXX_CHECK_GTHREADS], [ 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]) |