From 14362452f11151292c44a3dba2d768763e0688c7 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Mon, 23 May 2005 10:22:39 +0000 Subject: [PATCH] Simplify the #ifdefs. --- lib/ChangeLog | 4 ++++ lib/stdint_.h | 21 ++++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/ChangeLog b/lib/ChangeLog index 1b759085f8..eda3c44741 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,5 +1,9 @@ 2005-05-22 Bruno Haible + * stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs. + (INT64_MIN): Fix definition. + Suggested by Paul Eggert . + * stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from NEED_SIGNED_INT_TYPES. diff --git a/lib/stdint_.h b/lib/stdint_.h index 16afe08031..ea3619d81c 100644 --- a/lib/stdint_.h +++ b/lib/stdint_.h @@ -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 -- 2.30.2