svn commit: r217145 - in head/sys: amd64/include arm/include i386/include ia64/include mips/include powerpc/include sparc64/include sun4v/include

Tijl Coosemans tijl at FreeBSD.org
Sat Jan 8 11:13:34 UTC 2011


Author: tijl
Date: Sat Jan  8 11:13:34 2011
New Revision: 217145
URL: http://svn.freebsd.org/changeset/base/217145

Log:
  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)

Modified:
  head/sys/amd64/include/_limits.h
  head/sys/arm/include/_limits.h
  head/sys/i386/include/_limits.h
  head/sys/ia64/include/_limits.h
  head/sys/mips/include/_limits.h
  head/sys/powerpc/include/_limits.h
  head/sys/sparc64/include/_limits.h
  head/sys/sun4v/include/_limits.h

Modified: head/sys/amd64/include/_limits.h
==============================================================================
--- head/sys/amd64/include/_limits.h	Sat Jan  8 11:04:30 2011	(r217144)
+++ head/sys/amd64/include/_limits.h	Sat Jan  8 11:13:34 2011	(r217145)
@@ -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_ */

Modified: head/sys/arm/include/_limits.h
==============================================================================
--- head/sys/arm/include/_limits.h	Sat Jan  8 11:04:30 2011	(r217144)
+++ head/sys/arm/include/_limits.h	Sat Jan  8 11:13:34 2011	(r217145)
@@ -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 */
 

Modified: head/sys/i386/include/_limits.h
==============================================================================
--- head/sys/i386/include/_limits.h	Sat Jan  8 11:04:30 2011	(r217144)
+++ head/sys/i386/include/_limits.h	Sat Jan  8 11:13:34 2011	(r217145)
@@ -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_ */

Modified: head/sys/ia64/include/_limits.h
==============================================================================
--- head/sys/ia64/include/_limits.h	Sat Jan  8 11:04:30 2011	(r217144)
+++ head/sys/ia64/include/_limits.h	Sat Jan  8 11:13:34 2011	(r217145)
@@ -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 */

Modified: head/sys/mips/include/_limits.h
==============================================================================
--- head/sys/mips/include/_limits.h	Sat Jan  8 11:04:30 2011	(r217144)
+++ head/sys/mips/include/_limits.h	Sat Jan  8 11:13:34 2011	(r217145)
@@ -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 */

Modified: head/sys/powerpc/include/_limits.h
==============================================================================
--- head/sys/powerpc/include/_limits.h	Sat Jan  8 11:04:30 2011	(r217144)
+++ head/sys/powerpc/include/_limits.h	Sat Jan  8 11:13:34 2011	(r217145)
@@ -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 */

Modified: head/sys/sparc64/include/_limits.h
==============================================================================
--- head/sys/sparc64/include/_limits.h	Sat Jan  8 11:04:30 2011	(r217144)
+++ head/sys/sparc64/include/_limits.h	Sat Jan  8 11:13:34 2011	(r217145)
@@ -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 */

Modified: head/sys/sun4v/include/_limits.h
==============================================================================
--- head/sys/sun4v/include/_limits.h	Sat Jan  8 11:04:30 2011	(r217144)
+++ head/sys/sun4v/include/_limits.h	Sat Jan  8 11:13:34 2011	(r217145)
@@ -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 */


More information about the svn-src-all mailing list