os_defines.h: Define _GLIBCXX_USE_NANOSLEEP and _GLIBCXX_USE_SCHED_YIELD.

2012-10-10  Jack Howarth  <howarth@bromo.med.uc.edu>
	    Jonathan Wakely  <jwakely.gcc@gmail.com>

	* config/os/bsd/darwin/os_defines.h: Define _GLIBCXX_USE_NANOSLEEP
	and _GLIBCXX_USE_SCHED_YIELD.
	* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add comment.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>

From-SVN: r192335
This commit is contained in:
Jack Howarth 2012-10-10 23:12:10 +00:00 committed by Jonathan Wakely
parent 1f726ff876
commit 0d184995c4
3 changed files with 17 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2012-10-10 Jack Howarth <howarth@bromo.med.uc.edu>
Jonathan Wakely <jwakely.gcc@gmail.com>
* config/os/bsd/darwin/os_defines.h: Define _GLIBCXX_USE_NANOSLEEP
and _GLIBCXX_USE_SCHED_YIELD.
* acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add comment.
2012-10-10 Mark Kettenis <kettenis@openbsd.org>
* configure.host (*-*-openbsd*) Set cpu_include_dir.

View File

@ -1158,6 +1158,11 @@ dnl --enable-libstdcxx-time=no
dnl --disable-libstdcxx-time
dnl disables the checks completely
dnl
dnl N.B. Darwin provides nanosleep but doesn't support the whole POSIX
dnl Timers option, so doesn't define _POSIX_TIMERS. Because the test
dnl below fails Darwin unconditionally defines _GLIBCXX_USE_NANOSLEEP in
dnl os_defines.h and also defines _GLIBCXX_USE_SCHED_YIELD.
dnl
AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [
AC_MSG_CHECKING([for clock_gettime, nanosleep and sched_yield])

View File

@ -42,4 +42,9 @@
// Static initializer macro is buggy in darwin, see libstdc++/51906
#define _GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC
// Configure checks for nanosleep fail on Darwin, but nanosleep and
// sched_yield are always available, so use them.
#define _GLIBCXX_USE_NANOSLEEP 1
#define _GLIBCXX_USE_SCHED_YIELD 1
#endif