aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Howarth <howarth@bromo.med.uc.edu>2012-10-10 23:12:10 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2012-10-11 00:12:10 +0100
commit0d184995c48a313ecb4c560ab776403e61aa5360 (patch)
treef5c574cfe37cda929e504c694d080f546dd59764
parent1f726ff8762823d3ab43d15c0b7c9a549e8b6e0e (diff)
downloadgcc-0d184995c48a313ecb4c560ab776403e61aa5360.zip
gcc-0d184995c48a313ecb4c560ab776403e61aa5360.tar.gz
gcc-0d184995c48a313ecb4c560ab776403e61aa5360.tar.bz2
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
-rw-r--r--libstdc++-v3/ChangeLog7
-rw-r--r--libstdc++-v3/acinclude.m45
-rw-r--r--libstdc++-v3/config/os/bsd/darwin/os_defines.h5
3 files changed, 17 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index da8a084..d99010f 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -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.
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index 960bae3..c4cde86 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 421478d..be4aa14 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