Simplify the #ifdefs.
authorBruno Haible <bruno@clisp.org>
Mon, 23 May 2005 10:22:39 +0000 (10:22 +0000)
committerBruno Haible <bruno@clisp.org>
Mon, 23 May 2005 10:22:39 +0000 (10:22 +0000)
lib/ChangeLog
lib/stdint_.h

index 1b75908..eda3c44 100644 (file)
@@ -1,5 +1,9 @@
 2005-05-22  Bruno Haible  <bruno@clisp.org>
 
+       * stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
+       (INT64_MIN): Fix definition.
+       Suggested by Paul Eggert <eggert@cs.ucla.edu>.
+
        * stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
        NEED_SIGNED_INT_TYPES.
 
index 16afe08..ea3619d 100644 (file)
@@ -78,14 +78,17 @@ typedef unsigned int   uint32_t;
 typedef long           int64_t;
 #endif
 typedef unsigned long  uint64_t;
+#define _STDINT_H_HAVE_INT64
 #elif @HAVE_LONG_LONG_64BIT@
 #ifdef _STDINT_H_NEED_SIGNED_INT_TYPES
 typedef long long          int64_t;
 #endif
 typedef unsigned long long uint64_t;
+#define _STDINT_H_HAVE_INT64
 #elif defined(_MSC_VER)
 typedef __int64          int64_t;
 typedef unsigned __int64 uint64_t;
+#define _STDINT_H_HAVE_INT64
 #endif
 
 #endif /* !FreeBSD */
@@ -98,7 +101,7 @@ typedef int16_t  int_least16_t;
 typedef uint16_t uint_least16_t;
 typedef int32_t  int_least32_t;
 typedef uint32_t uint_least32_t;
-#if @HAVE_LONG_64BIT@ || @HAVE_LONG_LONG_64BIT@ || defined(_MSC_VER)
+#ifdef _STDINT_H_HAVE_INT64
 typedef int64_t  int_least64_t;
 typedef uint64_t uint_least64_t;
 #endif
@@ -111,7 +114,7 @@ typedef int32_t  int_fast16_t;
 typedef uint32_t uint_fast16_t;
 typedef int32_t  int_fast32_t;
 typedef uint32_t uint_fast32_t;
-#if @HAVE_LONG_64BIT@ || @HAVE_LONG_LONG_64BIT@ || defined(_MSC_VER)
+#ifdef _STDINT_H_HAVE_INT64
 typedef int64_t  int_fast64_t;
 typedef uint64_t uint_fast64_t;
 #endif
@@ -129,7 +132,7 @@ typedef unsigned long uintptr_t;
 
 /* 7.18.1.5. Greatest-width integer types */
 
-#if @HAVE_LONG_64BIT@ || @HAVE_LONG_LONG_64BIT@ || defined(_MSC_VER)
+#ifdef _STDINT_H_HAVE_INT64
 typedef int64_t  intmax_t;
 typedef uint64_t uintmax_t;
 #else
@@ -152,19 +155,19 @@ typedef uint32_t uintmax_t;
 #define INT32_MIN   (~INT32_MAX)
 #define INT32_MAX   2147483647
 #define UINT32_MAX  4294967295U
+#ifdef _STDINT_H_HAVE_INT64
+#define INT64_MIN   (~INT64_MAX)
 #if @HAVE_LONG_64BIT@
-#define INT64_MIN   (~INT64_MIN)
 #define INT64_MAX   9223372036854775807L
 #define UINT64_MAX 18446744073709551615UL
 #elif @HAVE_LONG_LONG_64BIT@
-#define INT64_MIN   (~INT64_MIN)
 #define INT64_MAX   9223372036854775807LL
 #define UINT64_MAX 18446744073709551615ULL
 #elif defined(_MSC_VER)
-#define INT64_MIN   (~INT64_MIN)
 #define INT64_MAX   9223372036854775807i64
 #define UINT64_MAX 18446744073709551615ui64
 #endif
+#endif
 
 /* 7.18.2.2. Limits of minimum-width integer types */
 
@@ -177,7 +180,7 @@ typedef uint32_t uintmax_t;
 #define INT_LEAST32_MIN INT32_MIN
 #define INT_LEAST32_MAX INT32_MAX
 #define UINT_LEAST32_MAX UINT32_MAX
-#if @HAVE_LONG_64BIT@ || @HAVE_LONG_LONG_64BIT@ || defined(_MSC_VER)
+#ifdef _STDINT_H_HAVE_INT64
 #define INT_LEAST64_MIN INT64_MIN
 #define INT_LEAST64_MAX INT64_MAX
 #define UINT_LEAST64_MAX UINT64_MAX
@@ -194,7 +197,7 @@ typedef uint32_t uintmax_t;
 #define INT_FAST32_MIN INT32_MIN
 #define INT_FAST32_MAX INT32_MAX
 #define UINT_FAST32_MAX UINT32_MAX
-#if @HAVE_LONG_64BIT@ || @HAVE_LONG_LONG_64BIT@ || defined(_MSC_VER)
+#ifdef _STDINT_H_HAVE_INT64
 #define INT_FAST64_MIN INT64_MIN
 #define INT_FAST64_MAX INT64_MAX
 #define UINT_FAST64_MAX UINT64_MAX
@@ -208,7 +211,7 @@ typedef uint32_t uintmax_t;
 
 /* 7.18.2.5. Limits of greatest-width integer types */
 
-#if @HAVE_LONG_64BIT@ || @HAVE_LONG_LONG_64BIT@ || defined(_MSC_VER)
+#ifdef _STDINT_H_HAVE_INT64
 #define INTMAX_MIN INT64_MIN
 #define INTMAX_MAX INT64_MAX
 #define UINTMAX_MAX UINT64_MAX