Fix compilation error with Sun C.
authorBruno Haible <bruno@clisp.org>
Sun, 14 Mar 2010 18:25:45 +0000 (19:25 +0100)
committerBruno Haible <bruno@clisp.org>
Sun, 14 Mar 2010 18:25:45 +0000 (19:25 +0100)
ChangeLog
lib/strtol.c
lib/xstrtoll.c
lib/xstrtoull.c

index bc8bbba..305a835 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2010-03-14  Bruno Haible  <bruno@clisp.org>
+
+       Fix compilation error with Sun C.
+       * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
+       Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
+       instead of GCC specific ULONG_LONG_MAX.
+       * lib/xstrtoll.c: Likewise.
+       * lib/xstrtoull.c: Likewise.
+
 2010-03-13  Bruno Haible  <bruno@clisp.org>
 
        Allow the user to disable C++ code and tests.
index d1b5bc0..e5b5a11 100644 (file)
    operating on `long long int's.  */
 #ifdef QUAD
 # define LONG long long
-# define STRTOL_LONG_MIN LONG_LONG_MIN
-# define STRTOL_LONG_MAX LONG_LONG_MAX
-# define STRTOL_ULONG_MAX ULONG_LONG_MAX
+# define STRTOL_LONG_MIN LLONG_MIN
+# define STRTOL_LONG_MAX LLONG_MAX
+# define STRTOL_ULONG_MAX ULLONG_MAX
 
 /* The extra casts in the following macros work around compiler bugs,
    e.g., in Cray C 5.0.3.0.  */
          ? (t) -1 \
          : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
 
-# ifndef ULONG_LONG_MAX
-#  define ULONG_LONG_MAX TYPE_MAXIMUM (unsigned long long)
+# ifndef ULLONG_MAX
+#  define ULLONG_MAX TYPE_MAXIMUM (unsigned long long)
 # endif
-# ifndef LONG_LONG_MAX
-#  define LONG_LONG_MAX TYPE_MAXIMUM (long long int)
+# ifndef LLONG_MAX
+#  define LLONG_MAX TYPE_MAXIMUM (long long int)
 # endif
-# ifndef LONG_LONG_MIN
-#  define LONG_LONG_MIN TYPE_MINIMUM (long long int)
+# ifndef LLONG_MIN
+#  define LLONG_MIN TYPE_MINIMUM (long long int)
 # endif
 
 # if __GNUC__ == 2 && __GNUC_MINOR__ < 7
    /* Work around gcc bug with using this constant.  */
-   static const unsigned long long int maxquad = ULONG_LONG_MAX;
+   static const unsigned long long int maxquad = ULLONG_MAX;
 #  undef STRTOL_ULONG_MAX
 #  define STRTOL_ULONG_MAX maxquad
 # endif
index 344e5a4..db26e87 100644 (file)
@@ -1,6 +1,6 @@
 #define __strtol strtoll
 #define __strtol_t long long int
 #define __xstrtol xstrtoll
-#define STRTOL_T_MINIMUM LONG_LONG_MIN
-#define STRTOL_T_MAXIMUM LONG_LONG_MAX
+#define STRTOL_T_MINIMUM LLONG_MIN
+#define STRTOL_T_MAXIMUM LLONG_MAX
 #include "xstrtol.c"
index 2f2d83c..10dda50 100644 (file)
@@ -2,5 +2,5 @@
 #define __strtol_t unsigned long long int
 #define __xstrtol xstrtoull
 #define STRTOL_T_MINIMUM 0
-#define STRTOL_T_MAXIMUM ULONG_LONG_MAX
+#define STRTOL_T_MAXIMUM ULLONG_MAX
 #include "xstrtol.c"