aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/s-oscons-tmplt.c
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-11-23 15:05:26 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2011-11-23 15:05:26 +0100
commitd0dcb2b1b9f1af8bb9be47c701c3d88f7513008b (patch)
treeff57b9487691cf2fb581fa1a9ad47d175aef9fc7 /gcc/ada/s-oscons-tmplt.c
parentdb3dd8af71808b993831ad6373b312b8fa9d4b50 (diff)
downloadgcc-d0dcb2b1b9f1af8bb9be47c701c3d88f7513008b.zip
gcc-d0dcb2b1b9f1af8bb9be47c701c3d88f7513008b.tar.gz
gcc-d0dcb2b1b9f1af8bb9be47c701c3d88f7513008b.tar.bz2
[multiple changes]
2011-11-23 Thomas Quinot <quinot@adacore.com> * thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup only on platforms where this is required, as determined by s-oscons.h. 2011-11-23 Ed Schonberg <schonberg@adacore.com> * sem_ch9.adb: No check on entry index if error on index. 2011-11-23 Gary Dismukes <dismukes@adacore.com> * sem_ch6.adb (Analyze_Return_Statement): Improve error messages for return statements nested inside an extended_return_statement. * gcc-interface/Make-lang.in: Update dependencies. * gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets. From-SVN: r181670
Diffstat (limited to 'gcc/ada/s-oscons-tmplt.c')
-rw-r--r--gcc/ada/s-oscons-tmplt.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c
index 7b24793..3d70ceb 100644
--- a/gcc/ada/s-oscons-tmplt.c
+++ b/gcc/ada/s-oscons-tmplt.c
@@ -1360,13 +1360,22 @@ CND(CLOCK_SGI_FAST, "SGI fast clock")
CND(CLOCK_SGI_CYCLE, "SGI CPU clock")
#endif
+#ifndef CLOCK_THREAD_CPUTIME_ID
+# define CLOCK_THREAD_CPUTIME_ID -1
+#endif
+CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
+
#if defined(__APPLE__)
-/* There's no clock_gettime or clock_id's on Darwin */
+/* There's no clock_gettime or clock_id's on Darwin, generate a dummy value */
# define CLOCK_RT_Ada "-1"
-#elif defined(FreeBSD) || defined(_AIX)
-/* On these platforms use system provided monotonic clock */
+#elif defined(FreeBSD) || (defined(_AIX) && defined(_AIXVERSION_530))
+/** On these platforms use system provided monotonic clock instead of
+ ** the default CLOCK_REALTIME. We then need to set up cond var attributes
+ ** appropriately (see thread.c).
+ **/
# define CLOCK_RT_Ada "CLOCK_MONOTONIC"
+# define NEED_PTHREAD_CONDATTR_SETCLOCK
#elif defined(CLOCK_REALTIME)
/* By default use CLOCK_REALTIME */
@@ -1377,11 +1386,6 @@ CND(CLOCK_SGI_CYCLE, "SGI CPU clock")
CNS(CLOCK_RT_Ada, "")
#endif
-#ifndef CLOCK_THREAD_CPUTIME_ID
-# define CLOCK_THREAD_CPUTIME_ID -1
-#endif
-CND(CLOCK_THREAD_CPUTIME_ID, "Thread CPU clock")
-
#if defined (__APPLE__) || defined (__linux__) || defined (DUMMY)
/*