diff --git a/gcc/intl/ChangeLog b/gcc/intl/ChangeLog index 48d0d7069acd975e2faeca18c8968f249a861aab..1754c116dd3ff77ad440476ef0f5fd51585f4170 100644 --- a/gcc/intl/ChangeLog +++ b/gcc/intl/ChangeLog @@ -1,3 +1,7 @@ +2000-09-05 John David Anglin <dave@hiauly1.hia.nrc.ca> + + * gettext.h (nls_uint32): Choose via INT_MAX instead of UINT_MAX. + 2000-08-02 Zack Weinberg <zack@wolery.cumb.org> * dcgettext.c (find_msg): Initialize act before loop. diff --git a/gcc/intl/gettext.h b/gcc/intl/gettext.h index 3cd23d7d6ad91ed58bd3580c674c2c51182e0520..7daee9417ec319812168ebbad70a4135d93ce800 100644 --- a/gcc/intl/gettext.h +++ b/gcc/intl/gettext.h @@ -39,30 +39,27 @@ alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but doing that would require that the configure script compile and *run* the resulting executable. Locally running cross-compiled executables - is usually not possible. */ + is usually not possible. We use the maximum values for signed int's + for the test to avoid using `U' suffixes. */ -#if __STDC__ -# define UINT_MAX_32_BITS 4294967295U -#else -# define UINT_MAX_32_BITS 0xFFFFFFFF -#endif +#define INT_MAX_32_BITS 2147483647 -/* If UINT_MAX isn't defined, assume it's a 32-bit type. +/* If INT_MAX isn't defined, assume it's a 32-bit type. This should be valid for all systems GNU cares about because that doesn't include 16-bit systems, and only modern systems (that certainly have <limits.h>) have 64+-bit integral types. */ -#ifndef UINT_MAX -# define UINT_MAX UINT_MAX_32_BITS +#ifndef INT_MAX +# define INT_MAX INT_MAX_32_BITS #endif -#if UINT_MAX == UINT_MAX_32_BITS +#if INT_MAX == INT_MAX_32_BITS typedef unsigned nls_uint32; #else -# if USHRT_MAX == UINT_MAX_32_BITS +# if SHRT_MAX == INT_MAX_32_BITS typedef unsigned short nls_uint32; # else -# if ULONG_MAX == UINT_MAX_32_BITS +# if LONG_MAX == INT_MAX_32_BITS typedef unsigned long nls_uint32; # else /* The following line is intended to throw an error. Using #error is