From b86b779077f57b963024aa4ff279e986002d957b Mon Sep 17 00:00:00 2001 From: kan Date: Wed, 23 Apr 2003 21:41:59 +0000 Subject: Add a new sys/limits.h file which in turn depends on machine/_limits.h to get actual constant values. This is in preparation for machine/limits.h retirement. Discussed on: standards@ Submitted by: Craig Rodrigues (*) Modified by: kan --- sys/ia64/include/_limits.h | 91 ++++++++++++++++++++-------------------------- 1 file changed, 39 insertions(+), 52 deletions(-) (limited to 'sys/ia64') diff --git a/sys/ia64/include/_limits.h b/sys/ia64/include/_limits.h index b694386..1540854 100644 --- a/sys/ia64/include/_limits.h +++ b/sys/ia64/include/_limits.h @@ -36,68 +36,55 @@ * @(#)limits.h 8.3 (Berkeley) 1/4/94 */ -#define CHAR_BIT 8 /* number of bits in a char */ +#ifndef _MACHINE__LIMITS_H_ +#define _MACHINE__LIMITS_H_ -/* - * According to ANSI (section 2.2.4.2), the values below must be usable by - * #if preprocessing directives. Additionally, the expression must have the - * same type as would an expression that is an object of the corresponding - * 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 SCHAR_MAX 0x7f /* max value for a signed char */ -#define SCHAR_MIN (-0x7f-1) /* min value for a signed char */ +#define __CHAR_BIT 8 /* number of bits in a char */ -#define UCHAR_MAX 0xffU /* max value for an unsigned char */ -#define CHAR_MAX 0x7f /* max value for a char */ -#define CHAR_MIN (-0x7f-1) /* min value for a char */ +#define __SCHAR_MAX 0x7f /* max value for a signed char */ +#define __SCHAR_MIN (-0x7f-1) /* min value for a signed char */ -#define USHRT_MAX 0xffffU /* 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 __UCHAR_MAX 0xffU /* max value for an unsigned char */ -#define UINT_MAX 0xffffffffU /* 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 __USHRT_MAX 0xffffU /* 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 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 __UINT_MAX 0xffffffffU /* 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 */ /* Long longs and longs are the same size on the IA-64. */ /* max for an unsigned long long */ -#define ULLONG_MAX 0xffffffffffffffffULL -#define LLONG_MAX 0x7fffffffffffffffLL /* max for a long long */ -#define LLONG_MIN (-0x7fffffffffffffffLL-1) /* min for a long long */ +#define __ULLONG_MAX 0xffffffffffffffffULL +#define __LLONG_MAX 0x7fffffffffffffffLL /* max for a long long */ +#define __LLONG_MIN (-0x7fffffffffffffffLL-1) /* min for a long long */ -#if !defined(_ANSI_SOURCE) -#define SSIZE_MAX LONG_MAX /* max value for a ssize_t */ +#define __SSIZE_MAX __LONG_MAX /* max value for a ssize_t */ -#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE) -#define SIZE_T_MAX ULONG_MAX /* max value for a size_t */ +#define __SIZE_T_MAX __ULONG_MAX /* max value for a size_t */ -#define OFF_MAX LONG_MAX /* max value for an off_t */ -#define OFF_MIN LONG_MIN /* min value for an off_t */ +#define __OFF_MAX __LONG_MAX /* max value for an off_t */ +#define __OFF_MIN __LONG_MIN /* min value for an off_t */ /* Quads and longs are the same. Ensure they stay in sync. */ -#define UQUAD_MAX (ULONG_MAX) /* max value for a uquad_t */ -#define QUAD_MAX (LONG_MAX) /* max value for a quad_t */ -#define QUAD_MIN (LONG_MIN) /* min value for a quad_t */ -#endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */ -#endif /* !_ANSI_SOURCE */ - -#if (!defined(_ANSI_SOURCE)&&!defined(_POSIX_SOURCE)) || defined(_XOPEN_SOURCE) -#define LONG_BIT 64 -#define WORD_BIT 32 - -#define DBL_DIG 15 -#define DBL_MAX 1.7976931348623157E+308 -#define DBL_MIN 2.2250738585072014E-308 - -#define FLT_DIG 6 -#define FLT_MAX 3.40282347E+38F -#define FLT_MIN 1.17549435E-38F -#endif +#define __UQUAD_MAX (__ULONG_MAX) /* max value for a uquad_t */ +#define __QUAD_MAX (__LONG_MAX) /* max value for a quad_t */ +#define __QUAD_MIN (__LONG_MIN) /* min value for a quad_t */ + +#define __LONG_BIT 64 +#define __WORD_BIT 32 + +#define __DBL_DIG 15 +#define __DBL_MAX 1.7976931348623157E+308 +#define __DBL_MIN 2.2250738585072014E-308 + +#define __FLT_DIG 6 +#define __FLT_MAX 3.40282347E+38F +#define __FLT_MIN 1.17549435E-38F + +#endif /* !_MACHINE__LIMITS_H_ */ -- cgit v1.1