From 0ac2d551f20a8769869f61ebfe742fd55cef70b9 Mon Sep 17 00:00:00 2001 From: Mike Barcroft Date: Fri, 2 Nov 2001 18:05:43 +0000 Subject: o Add new header . o Make a symbolic link to . o Move most of into , as per C99. o Remove . o Adjust includes in sys/types.h and boot/efi/include/ia64/efibind.h to reflect new location of integer types in . o Remove previously symbolicly linked , instead create a new file. o Add MD headers from NetBSD. o Include in , as required by C99; and include in , to fill in the remaining requirements for . o Add additional integer types in and which are included via . Partially obtain from: NetBSD Tested on: alpha, i386 Discussed on: freebsd-standards@bostonradio.org Reviewed by: bde, fenner, obrien, wollman --- sys/sparc64/include/_limits.h | 108 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) (limited to 'sys/sparc64/include/_limits.h') diff --git a/sys/sparc64/include/_limits.h b/sys/sparc64/include/_limits.h index b7a8b5b675d5..6a3d1d275212 100644 --- a/sys/sparc64/include/_limits.h +++ b/sys/sparc64/include/_limits.h @@ -82,6 +82,114 @@ #define QUAD_MAX (LONG_MAX) /* max value for a quad_t */ #define QUAD_MIN (LONG_MIN) /* min value for a quad_t */ +#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) +/* + * ISO/IEC 9899:1999 + * 7.18.2.1 Limits of exact-width integer types + */ +/* Minimum values of exact-width signed integer types. */ +#define INT8_MIN (-0x7f-1) +#define INT16_MIN (-0x7fff-1) +#define INT32_MIN (-0x7fffffff-1) +#define INT64_MIN (-0x7fffffffffffffffL-1) + +/* Maximum values of exact-width signed integer types. */ +#define INT8_MAX 0x7f +#define INT16_MAX 0x7fff +#define INT32_MAX 0x7fffffff +#define INT64_MAX 0x7fffffffffffffffL + +/* Maximum values of exact-width unsigned integer types. */ +#define UINT8_MAX 0xff +#define UINT16_MAX 0xffff +#define UINT32_MAX 0xffffffffU +#define UINT64_MAX 0xffffffffffffffffUL + +/* + * ISO/IEC 9899:1999 + * 7.18.2.2 Limits of minimum-width integer types + */ +/* Minimum values of minimum-width signed integer types. */ +#define INT_LEAST8_MIN SCHAR_MIN +#define INT_LEAST16_MIN SHRT_MIN +#define INT_LEAST32_MIN INT_MIN +#define INT_LEAST64_MIN LONG_MIN + +/* Maximum values of minimum-width signed integer types. */ +#define INT_LEAST8_MAX SCHAR_MAX +#define INT_LEAST16_MAX SHRT_MAX +#define INT_LEAST32_MAX INT_MAX +#define INT_LEAST64_MAX LONG_MAX + +/* Maximum values of minimum-width unsigned integer types. */ +#define UINT_LEAST8_MAX UCHAR_MAX +#define UINT_LEAST16_MAX USHRT_MAX +#define UINT_LEAST32_MAX UINT_MAX +#define UINT_LEAST64_MAX ULONG_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.2.3 Limits of fastest minimum-width integer types + */ +/* Minimum values of fastest minimum-width signed integer types. */ +#define INT_FAST8_MIN INT_MIN +#define INT_FAST16_MIN INT_MIN +#define INT_FAST32_MIN INT_MIN +#define INT_FAST64_MIN LONG_MIN + +/* Maximum values of fastest minimum-width signed integer types. */ +#define INT_FAST8_MAX INT_MAX +#define INT_FAST16_MAX INT_MAX +#define INT_FAST32_MAX INT_MAX +#define INT_FAST64_MAX LONG_MAX + +/* Maximum values of fastest minimum-width unsigned integer types. */ +#define UINT_FAST8_MAX UINT_MAX +#define UINT_FAST16_MAX UINT_MAX +#define UINT_FAST32_MAX UINT_MAX +#define UINT_FAST64_MAX ULONG_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.2.4 Limits of integer types capable of holding object pointers + */ +#define INTPTR_MIN LONG_MIN +#define INTPTR_MAX LONG_MAX +#define UINTPTR_MAX ULONG_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.2.5 Limits of greatest-width integer types + */ +#define INTMAX_MIN LONG_MIN +#define INTMAX_MAX LONG_MAX +#define UINTMAX_MAX ULONG_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.3 Limits of other integer types + */ +/* Limits of ptrdiff_t. */ +#define PTRDIFF_MIN LONG_MIN +#define PTRDIFF_MAX LONG_MAX + +/* Limits of sig_atomic_t. */ +#define SIG_ATOMIC_MIN INT_MIN +#define SIG_ATOMIC_MAX INT_MAX + +/* Limit of size_t. */ +#define SIZE_MAX ULONG_MAX + +#ifndef WCHAR_MIN /* Also possibly defined in */ +/* Limits of wchar_t. */ +#define WCHAR_MIN INT_MIN +#define WCHAR_MAX INT_MAX + +/* Limits of wint_t. */ +#define WINT_MIN INT_MIN +#define WINT_MAX INT_MAX +#endif +#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ #endif /* !_POSIX_SOURCE && !_XOPEN_SOURCE */ #endif /* !_ANSI_SOURCE */ -- cgit v1.2.3