about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2005-10-16 15:32:33 +0000
committerUlrich Drepper <drepper@redhat.com>2005-10-16 15:32:33 +0000
commit3158a33ecb3b7a9e5a43b819f959f655a757841c (patch)
tree8cd19e6e07b8df2130804aa17c40db67524b372f
parentfe60d146c76a500ac68496c2c2b3223337d3d7c6 (diff)
downloadglibc-3158a33ecb3b7a9e5a43b819f959f655a757841c.tar.gz
glibc-3158a33ecb3b7a9e5a43b819f959f655a757841c.tar.xz
glibc-3158a33ecb3b7a9e5a43b819f959f655a757841c.zip
(LLONG_MIN, LLONG_MAX, ULLONG_MAX): Make sure these are defined for -D_GNU_SOURCE or -D_ISOC99_SOURCE even when not -std=c99.
-rw-r--r--include/limits.h23
1 files changed, 12 insertions, 11 deletions
diff --git a/include/limits.h b/include/limits.h
index 45cd6f2532..3e9a5df88a 100644
--- a/include/limits.h
+++ b/include/limits.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 92, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1996, 1997, 1998, 1999, 2000, 2005
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -122,20 +123,20 @@
 #if defined __GNUC__ && !defined _GCC_LIMITS_H_
 /* `_GCC_LIMITS_H_' is what GCC's file defines.  */
 # include_next <limits.h>
+#endif
 
 /* The <limits.h> files in some gcc versions don't define LLONG_MIN,
    LLONG_MAX, and ULLONG_MAX.  Instead only the values gcc defined for
    ages are available.  */
-# ifdef __USE_ISOC99
-#  ifndef LLONG_MIN
-#   define LLONG_MIN	LONG_LONG_MIN
-#  endif
-#  ifndef LLONG_MAX
-#   define LLONG_MAX	LONG_LONG_MAX
-#  endif
-#  ifndef ULLONG_MAX
-#   define ULLONG_MAX	ULONG_LONG_MAX
-#  endif
+#if defined __USE_ISOC99 && defined __GNUC__
+# ifndef LLONG_MIN
+#  define LLONG_MIN	(-LLONG_MAX-1)
+# endif
+# ifndef LLONG_MAX
+#  define LLONG_MAX	__LONG_LONG_MAX__
+# endif
+# ifndef ULLONG_MAX
+#  define ULLONG_MAX	(LLONG_MAX * 2ULL + 1)
 # endif
 #endif