Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2002-04-20 03:52:48 +0400
committerJeff Johnston <jjohnstn@redhat.com>2002-04-20 03:52:48 +0400
commit2dd4c4dc18707380351de8dd7eeef630bf6a60ab (patch)
tree6e18e08348c6c5291663c65093d0ad7f26a3e8ca /newlib/libc/include/sys
parent0d844014bfbcab4e48718b787c268d052f773197 (diff)
2002-04-19 Alexandre Oliva <aoliva@redhat.com>
* libc/include/sys/config.h: Remove include of <limits.h>. (__INT_MAX__, __LONG_MAX__): Define like GCC's limits.h would define INT_MAX and LONG_MAX. Use them in tests.
Diffstat (limited to 'newlib/libc/include/sys')
-rw-r--r--newlib/libc/include/sys/config.h35
1 files changed, 30 insertions, 5 deletions
diff --git a/newlib/libc/include/sys/config.h b/newlib/libc/include/sys/config.h
index b5a95bfa2..05ba2681c 100644
--- a/newlib/libc/include/sys/config.h
+++ b/newlib/libc/include/sys/config.h
@@ -129,9 +129,34 @@
typedef short int __int16_t;
typedef unsigned short int __uint16_t;
-#include <limits.h>
-
-#if INT_MAX == 32767
+/* This block should be kept in sync with GCC's limits.h. The point
+ of having these definitions here is to not include limits.h, which
+ would pollute the user namespace, while still using types of the
+ the correct widths when deciding how to define __int32_t and
+ __int64_t. */
+#ifndef __INT_MAX__
+# ifdef INT_MAX
+# define __INT_MAX__ INT_MAX
+# else
+# define __INT_MAX__ 2147483647
+# endif
+#endif
+
+#ifndef __LONG_MAX__
+# ifdef LONG_MAX
+# define __LONG_MAX__ LONG_MAX
+# else
+# if defined (__alpha__) || (defined (__sparc__) && defined(__arch64__)) \
+ || defined (__sparcv9)
+# define __LONG_MAX__ 9223372036854775807L
+# else
+# define __LONG_MAX__ 2147483647L
+# endif /* __alpha__ || sparc64 */
+# endif
+#endif
+/* End of block that should be kept in sync with GCC's limits.h. */
+
+#if __INT_MAX__ == 32767
typedef long int __int32_t;
typedef unsigned long int __uint32_t;
#else
@@ -139,7 +164,7 @@ typedef int __int32_t;
typedef unsigned int __uint32_t;
#endif
-#if LONG_MAX > 2147483647 || !defined(__GNUC__)
+#if __LONG_MAX__ > 2147483647 || !defined(__GNUC__)
typedef long int __int64_t;
typedef unsigned long int __uint64_t;
#else
@@ -152,7 +177,7 @@ __extension__ typedef unsigned long long __uint64_t;
#endif
#undef __RAND_MAX
-#if INT_MAX == 32767
+#if __INT_MAX__ == 32767
#define __RAND_MAX 32767
#else
#define __RAND_MAX 0x7fffffff