aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/s-oscons-tmplt.c
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-08-30 15:53:38 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-30 15:53:38 +0200
commit63be2a5ab4f84b257cb17d3a8f16bc56ff8927bc (patch)
treeac56f5229e339d6d196cd4be5f5cd789acb95c4d /gcc/ada/s-oscons-tmplt.c
parentdd54644b315aa181b563ee78ee5f48ec908632c2 (diff)
downloadgcc-63be2a5ab4f84b257cb17d3a8f16bc56ff8927bc.zip
gcc-63be2a5ab4f84b257cb17d3a8f16bc56ff8927bc.tar.gz
gcc-63be2a5ab4f84b257cb17d3a8f16bc56ff8927bc.tar.bz2
[multiple changes]
2011-08-30 Thomas Quinot <quinot@adacore.com> * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for field tv_sec in struct timeval. 2011-08-30 Yannick Moy <moy@adacore.com> * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several blocks of code doing full expansion, previously only guarded by Expander_Active, by anding the test that ALFA_Mode is not set 2011-08-30 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete, add the function to the list of private dependents, for subsequent legality check on Taft amendment types. * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize Private_Dependents, as for other incomplete types. * sem_util.adb (Wrong_Type): Avoid cascaded errors when a Taft-amendment type is used as the return type of a function. From-SVN: r178307
Diffstat (limited to 'gcc/ada/s-oscons-tmplt.c')
-rw-r--r--gcc/ada/s-oscons-tmplt.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ada/s-oscons-tmplt.c b/gcc/ada/s-oscons-tmplt.c
index 4b5b138..fe3b90d 100644
--- a/gcc/ada/s-oscons-tmplt.c
+++ b/gcc/ada/s-oscons-tmplt.c
@@ -7,7 +7,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 2000-2009, Free Software Foundation, Inc. --
+-- Copyright (C) 2000-2011, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -1219,6 +1219,26 @@ CND(IP_PKTINFO, "Get datagram info")
CND(SIZEOF_tv_sec, "tv_sec")
#define SIZEOF_tv_usec (sizeof tv.tv_usec)
CND(SIZEOF_tv_usec, "tv_usec")
+/*
+
+ -- Maximum allowed value for tv_sec
+*/
+
+/**
+ ** On Solaris and IRIX, field tv_sec in struct timeval has an undocumented
+ ** hard-wired limit of 100 million.
+ ** On IA64 HP-UX the limit is 2**31 - 1.
+ **/
+#if defined (sun) || (defined (__mips) && defined (__sgi))
+# define MAX_tv_sec "100_000_000"
+
+#elif defined (__hpux__)
+# define MAX_tv_sec "16#7fffffff#"
+
+#else
+# define MAX_tv_sec "2 ** (SIZEOF_tv_sec * 8 - 1) - 1"
+#endif
+CNS(MAX_tv_sec, "")
}
/*