From: Jack Howarth Date: Wed, 10 Oct 2012 23:12:10 +0000 (+0000) Subject: os_defines.h: Define _GLIBCXX_USE_NANOSLEEP and _GLIBCXX_USE_SCHED_YIELD. X-Git-Tag: misc/gccgo-go1_1_2~256 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d184995c48a313ecb4c560ab776403e61aa5360;p=thirdparty%2Fgcc.git os_defines.h: Define _GLIBCXX_USE_NANOSLEEP and _GLIBCXX_USE_SCHED_YIELD. 2012-10-10 Jack Howarth Jonathan Wakely * 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 From-SVN: r192335 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index da8a0847e815..d99010fa1379 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,10 @@ +2012-10-10 Jack Howarth + Jonathan Wakely + + * 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 * configure.host (*-*-openbsd*) Set cpu_include_dir. diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 index 960bae3ec0d3..c4cde86b7f34 100644 --- a/libstdc++-v3/acinclude.m4 +++ b/libstdc++-v3/acinclude.m4 @@ -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]) diff --git a/libstdc++-v3/config/os/bsd/darwin/os_defines.h b/libstdc++-v3/config/os/bsd/darwin/os_defines.h index 421478d82d46..be4aa149e216 100644 --- a/libstdc++-v3/config/os/bsd/darwin/os_defines.h +++ b/libstdc++-v3/config/os/bsd/darwin/os_defines.h @@ -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