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 bc8bbbab19e81cfe433c50e1fdb1d6ef6e863b7a..305a835768feb893891a5a2cbc53152a68ad92f0 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 d1b5bc0cb6100e93dcd520b12b076238df0c87eb..e5b5a11b244db6fde954fdb10a16c7ef8166d451 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 344e5a4b7c26d92e62cb99bc8d68df8190a9dd8a..db26e87c53da1ad1c8f0830726a5a18a7cf5d914 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 2f2d83c33b3f495176ed8a6f67b5ec3f079aa956..10dda504445c9ca85795a82fde1539de60c38eb6 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"