From 9858863cd4959006703cb9529d07777637315c69 Mon Sep 17 00:00:00 2001 From: Tijl Coosemans Date: Sat, 8 Jan 2011 11:13:34 +0000 Subject: Fix types of some values in machine/_limits.h. On some architectures UCHAR_MAX and USHRT_MAX had type unsigned int. However, lacking integer suffixes for types smaller than int, their type should correspond to that of an object of type unsigned char (or short) when used in an expression with objects of type int. In that case unsigned char (short) are promoted to int (i.e. signed) so the type of UCHAR_MAX and USHRT_MAX should also be int. Where MIN/MAX constants implicitly have the correct type the suffix has been removed. While here, correct some comments. Reviewed by: bde Approved by: kib (mentor) --- sys/amd64/include/_limits.h | 19 +++++++------------ sys/arm/include/_limits.h | 4 +--- sys/i386/include/_limits.h | 9 ++------- sys/ia64/include/_limits.h | 16 +++++++--------- sys/mips/include/_limits.h | 10 ++++------ sys/powerpc/include/_limits.h | 10 ++++------ sys/sparc64/include/_limits.h | 16 +++++++--------- sys/sun4v/include/_limits.h | 16 +++++++--------- 8 files changed, 39 insertions(+), 61 deletions(-) diff --git a/sys/amd64/include/_limits.h b/sys/amd64/include/_limits.h index bd0f2efe2254..2f3352b9372d 100644 --- a/sys/amd64/include/_limits.h +++ b/sys/amd64/include/_limits.h @@ -40,8 +40,6 @@ * type converted according to the integral promotions. The subtraction for * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers are for the default configuration of gcc. They work for - * some other compilers as well, but this should not be depended on. */ #define __CHAR_BIT 8 /* number of bits in a char */ @@ -49,19 +47,19 @@ #define __SCHAR_MAX 0x7f /* max value for a signed char */ #define __SCHAR_MIN (-0x7f - 1) /* min value for a signed char */ -#define __UCHAR_MAX 0xffU /* max value for an unsigned char */ +#define __UCHAR_MAX 0xff /* max value for an unsigned char */ -#define __USHRT_MAX 0xffffU /* max value for an unsigned short */ +#define __USHRT_MAX 0xffff /* max value for an unsigned short */ #define __SHRT_MAX 0x7fff /* max value for a short */ #define __SHRT_MIN (-0x7fff - 1) /* min value for a short */ -#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */ +#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ #define __INT_MAX 0x7fffffff /* max value for an int */ #define __INT_MIN (-0x7fffffff - 1) /* min value for an int */ -#define __ULONG_MAX 0xffffffffffffffffUL /* max for an unsigned long */ -#define __LONG_MAX 0x7fffffffffffffffL /* max for a long */ -#define __LONG_MIN (-0x7fffffffffffffffL - 1) /* min for a long */ +#define __ULONG_MAX 0xffffffffffffffff /* max for an unsigned long */ +#define __LONG_MAX 0x7fffffffffffffff /* max for a long */ +#define __LONG_MIN (-0x7fffffffffffffff - 1) /* min for a long */ /* max value for an unsigned long long */ #define __ULLONG_MAX 0xffffffffffffffffULL @@ -83,10 +81,7 @@ #define __LONG_BIT 64 #define __WORD_BIT 32 -/* - * Minimum signal stack size. The current signal frame - * for i386 is 408 bytes large. - */ +/* Minimum signal stack size. */ #define __MINSIGSTKSZ (512 * 4) #endif /* !_MACHINE__LIMITS_H_ */ diff --git a/sys/arm/include/_limits.h b/sys/arm/include/_limits.h index db18d8264218..8cb84649b100 100644 --- a/sys/arm/include/_limits.h +++ b/sys/arm/include/_limits.h @@ -40,8 +40,6 @@ * type converted according to the integral promotions. The subtraction for * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers are for the default configuration of gcc. They work for - * some other compilers as well, but this should not be depended on. */ #define __CHAR_BIT 8 /* number of bits in a char */ @@ -55,7 +53,7 @@ #define __SHRT_MAX 0x7fff /* max value for a short */ #define __SHRT_MIN (-0x7fff - 1) /* min value for a short */ -#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */ +#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ #define __INT_MAX 0x7fffffff /* max value for an int */ #define __INT_MIN (-0x7fffffff - 1) /* min value for an int */ diff --git a/sys/i386/include/_limits.h b/sys/i386/include/_limits.h index 43092dece058..bfe7fb3b828c 100644 --- a/sys/i386/include/_limits.h +++ b/sys/i386/include/_limits.h @@ -40,8 +40,6 @@ * type converted according to the integral promotions. The subtraction for * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers are for the default configuration of gcc. They work for - * some other compilers as well, but this should not be depended on. */ #define __CHAR_BIT 8 /* number of bits in a char */ @@ -55,7 +53,7 @@ #define __SHRT_MAX 0x7fff /* max value for a short */ #define __SHRT_MIN (-0x7fff - 1) /* min value for a short */ -#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */ +#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ #define __INT_MAX 0x7fffffff /* max value for an int */ #define __INT_MIN (-0x7fffffff - 1) /* min value for an int */ @@ -83,10 +81,7 @@ #define __LONG_BIT 32 #define __WORD_BIT 32 -/* - * Minimum signal stack size. The current signal frame - * for i386 is 408 bytes large. - */ +/* Minimum signal stack size. */ #define __MINSIGSTKSZ (512 * 4) #endif /* !_MACHINE__LIMITS_H_ */ diff --git a/sys/ia64/include/_limits.h b/sys/ia64/include/_limits.h index cb26d9795985..938412fc0714 100644 --- a/sys/ia64/include/_limits.h +++ b/sys/ia64/include/_limits.h @@ -42,8 +42,6 @@ * type converted according to the integral promotions. The subtraction for * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers are for the default configuration of gcc. They work for - * some other compilers as well, but this should not be depended on. */ #define __CHAR_BIT 8 /* number of bits in a char */ @@ -51,21 +49,21 @@ #define __SCHAR_MAX 0x7f /* max value for a signed char */ #define __SCHAR_MIN (-0x7f-1) /* min value for a signed char */ -#define __UCHAR_MAX 0xffU /* max value for an unsigned char */ +#define __UCHAR_MAX 0xff /* max value for an unsigned char */ -#define __USHRT_MAX 0xffffU /* max value for an unsigned short */ +#define __USHRT_MAX 0xffff /* max value for an unsigned short */ #define __SHRT_MAX 0x7fff /* max value for a short */ #define __SHRT_MIN (-0x7fff-1) /* min value for a short */ -#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */ +#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ #define __INT_MAX 0x7fffffff /* max value for an int */ #define __INT_MIN (-0x7fffffff-1) /* min value for an int */ -#define __ULONG_MAX 0xffffffffffffffffUL /* max for an unsigned long */ -#define __LONG_MAX 0x7fffffffffffffffL /* max for a long */ -#define __LONG_MIN (-0x7fffffffffffffffL-1) /* min for a long */ +#define __ULONG_MAX 0xffffffffffffffff /* max for an unsigned long */ +#define __LONG_MAX 0x7fffffffffffffff /* max for a long */ +#define __LONG_MIN (-0x7fffffffffffffff-1) /* min for a long */ -/* Long longs and longs are the same size on the IA-64. */ +/* Long longs have the same size but not the same type as longs. */ /* max for an unsigned long long */ #define __ULLONG_MAX 0xffffffffffffffffULL #define __LLONG_MAX 0x7fffffffffffffffLL /* max for a long long */ diff --git a/sys/mips/include/_limits.h b/sys/mips/include/_limits.h index 435a61b4a635..758c0e350eed 100644 --- a/sys/mips/include/_limits.h +++ b/sys/mips/include/_limits.h @@ -41,8 +41,6 @@ * type converted according to the integral promotions. The subtraction for * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers are for the default configuration of gcc. They work for - * some other compilers as well, but this should not be depended on. */ #define __CHAR_BIT 8 /* number of bits in a char */ @@ -56,14 +54,14 @@ #define __SHRT_MAX 0x7fff /* max value for a short */ #define __SHRT_MIN (-0x7fff - 1) /* min value for a short */ -#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */ +#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ #define __INT_MAX 0x7fffffff /* max value for an int */ #define __INT_MIN (-0x7fffffff - 1) /* min value for an int */ #ifdef __LP64__ -#define __ULONG_MAX 0xffffffffffffffffUL -#define __LONG_MAX 0x7fffffffffffffffL -#define __LONG_MIN (-0x7fffffffffffffffL - 1) +#define __ULONG_MAX 0xffffffffffffffff +#define __LONG_MAX 0x7fffffffffffffff +#define __LONG_MIN (-0x7fffffffffffffff - 1) #define __LONG_BIT 64 #else #define __ULONG_MAX 0xffffffffUL /* max value for an unsigned long */ diff --git a/sys/powerpc/include/_limits.h b/sys/powerpc/include/_limits.h index 942372f8e775..3da95adbf956 100644 --- a/sys/powerpc/include/_limits.h +++ b/sys/powerpc/include/_limits.h @@ -40,8 +40,6 @@ * type converted according to the integral promotions. The subtraction for * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers are for the default configuration of gcc. They work for - * some other compilers as well, but this should not be depended on. */ #define __CHAR_BIT 8 /* number of bits in a char */ @@ -55,14 +53,14 @@ #define __SHRT_MAX 0x7fff /* max value for a short */ #define __SHRT_MIN (-0x7fff - 1) /* min value for a short */ -#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */ +#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ #define __INT_MAX 0x7fffffff /* max value for an int */ #define __INT_MIN (-0x7fffffff - 1) /* min value for an int */ #ifdef __LP64__ -#define __ULONG_MAX 0xffffffffffffffffUL -#define __LONG_MAX 0x7fffffffffffffffL -#define __LONG_MIN (-0x7fffffffffffffffL - 1) +#define __ULONG_MAX 0xffffffffffffffff +#define __LONG_MAX 0x7fffffffffffffff +#define __LONG_MIN (-0x7fffffffffffffff - 1) #define __LONG_BIT 64 #else #define __ULONG_MAX 0xffffffffUL /* max value for an unsigned long */ diff --git a/sys/sparc64/include/_limits.h b/sys/sparc64/include/_limits.h index 248369288cae..49a768b087e0 100644 --- a/sys/sparc64/include/_limits.h +++ b/sys/sparc64/include/_limits.h @@ -37,8 +37,6 @@ * type converted according to the integral promotions. The subtraction for * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers are for the default configuration of gcc. They work for - * some other compilers as well, but this should not be depended on. */ #define __CHAR_BIT 8 /* number of bits in a char */ @@ -46,21 +44,21 @@ #define __SCHAR_MAX 0x7f /* max value for a signed char */ #define __SCHAR_MIN (-0x7f-1) /* min value for a signed char */ -#define __UCHAR_MAX 0xffU /* max value for an unsigned char */ +#define __UCHAR_MAX 0xff /* max value for an unsigned char */ -#define __USHRT_MAX 0xffffU /* max value for an unsigned short */ +#define __USHRT_MAX 0xffff /* max value for an unsigned short */ #define __SHRT_MAX 0x7fff /* max value for a short */ #define __SHRT_MIN (-0x7fff-1) /* min value for a short */ -#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */ +#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ #define __INT_MAX 0x7fffffff /* max value for an int */ #define __INT_MIN (-0x7fffffff-1) /* min value for an int */ -#define __ULONG_MAX 0xffffffffffffffffUL /* max for an unsigned long */ -#define __LONG_MAX 0x7fffffffffffffffL /* max for a long */ -#define __LONG_MIN (-0x7fffffffffffffffL-1) /* min for a long */ +#define __ULONG_MAX 0xffffffffffffffff /* max for an unsigned long */ +#define __LONG_MAX 0x7fffffffffffffff /* max for a long */ +#define __LONG_MIN (-0x7fffffffffffffff-1) /* min for a long */ -/* Long longs and longs are the same size on sparc64. */ +/* Long longs have the same size but not the same type as longs. */ /* max for an unsigned long long */ #define __ULLONG_MAX 0xffffffffffffffffULL #define __LLONG_MAX 0x7fffffffffffffffLL /* max for a long long */ diff --git a/sys/sun4v/include/_limits.h b/sys/sun4v/include/_limits.h index 248369288cae..49a768b087e0 100644 --- a/sys/sun4v/include/_limits.h +++ b/sys/sun4v/include/_limits.h @@ -37,8 +37,6 @@ * type converted according to the integral promotions. The subtraction for * INT_MIN, etc., is so the value is not unsigned; e.g., 0x80000000 is an * unsigned int for 32-bit two's complement ANSI compilers (section 3.1.3.2). - * These numbers are for the default configuration of gcc. They work for - * some other compilers as well, but this should not be depended on. */ #define __CHAR_BIT 8 /* number of bits in a char */ @@ -46,21 +44,21 @@ #define __SCHAR_MAX 0x7f /* max value for a signed char */ #define __SCHAR_MIN (-0x7f-1) /* min value for a signed char */ -#define __UCHAR_MAX 0xffU /* max value for an unsigned char */ +#define __UCHAR_MAX 0xff /* max value for an unsigned char */ -#define __USHRT_MAX 0xffffU /* max value for an unsigned short */ +#define __USHRT_MAX 0xffff /* max value for an unsigned short */ #define __SHRT_MAX 0x7fff /* max value for a short */ #define __SHRT_MIN (-0x7fff-1) /* min value for a short */ -#define __UINT_MAX 0xffffffffU /* max value for an unsigned int */ +#define __UINT_MAX 0xffffffff /* max value for an unsigned int */ #define __INT_MAX 0x7fffffff /* max value for an int */ #define __INT_MIN (-0x7fffffff-1) /* min value for an int */ -#define __ULONG_MAX 0xffffffffffffffffUL /* max for an unsigned long */ -#define __LONG_MAX 0x7fffffffffffffffL /* max for a long */ -#define __LONG_MIN (-0x7fffffffffffffffL-1) /* min for a long */ +#define __ULONG_MAX 0xffffffffffffffff /* max for an unsigned long */ +#define __LONG_MAX 0x7fffffffffffffff /* max for a long */ +#define __LONG_MIN (-0x7fffffffffffffff-1) /* min for a long */ -/* Long longs and longs are the same size on sparc64. */ +/* Long longs have the same size but not the same type as longs. */ /* max for an unsigned long long */ #define __ULLONG_MAX 0xffffffffffffffffULL #define __LLONG_MAX 0x7fffffffffffffffLL /* max for a long long */ -- cgit v1.2.3