changeset 12991:1276be199c4c

Fix compilation error with Sun C.
author Bruno Haible <bruno@clisp.org>
date Sun, 14 Mar 2010 19:25:45 +0100
parents bec1f52a7706
children 4ca54426154c
files ChangeLog lib/strtol.c lib/xstrtoll.c lib/xstrtoull.c
diffstat 4 files changed, 22 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- a/lib/strtol.c
+++ b/lib/strtol.c
@@ -114,9 +114,9 @@
    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.  */
@@ -147,19 +147,19 @@
          ? (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
--- a/lib/xstrtoll.c
+++ b/lib/xstrtoll.c
@@ -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"
--- a/lib/xstrtoull.c
+++ b/lib/xstrtoull.c
@@ -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"