diff options
author | mike <mike@FreeBSD.org> | 2002-07-29 17:41:23 +0000 |
---|---|---|
committer | mike <mike@FreeBSD.org> | 2002-07-29 17:41:23 +0000 |
commit | 9f0ddc464e0c402f25ea8ae47e53ae9dba1c60c6 (patch) | |
tree | fb04866abc5687d2f4e78a89dc6942070f762ba8 /sys/alpha/include | |
parent | 0bf99191f0746f4d69a3d5389f707ff9a2630553 (diff) | |
download | FreeBSD-src-9f0ddc464e0c402f25ea8ae47e53ae9dba1c60c6.zip FreeBSD-src-9f0ddc464e0c402f25ea8ae47e53ae9dba1c60c6.tar.gz |
Create a new header <machine/_stdint.h> for storing MD parts of
<stdint.h>. Previously, parts were defined in <machine/ansi.h> and
<machine/limits.h>. This resulted in two problems:
(1) Defining macros in <machine/ansi.h> gets in the way of that
header only defining types.
(2) Defining C99 limits in <machine/limits.h> adds pollution to
<limits.h>.
Diffstat (limited to 'sys/alpha/include')
-rw-r--r-- | sys/alpha/include/_limits.h | 109 | ||||
-rw-r--r-- | sys/alpha/include/_stdint.h | 171 | ||||
-rw-r--r-- | sys/alpha/include/ansi.h | 13 | ||||
-rw-r--r-- | sys/alpha/include/limits.h | 109 |
4 files changed, 171 insertions, 231 deletions
diff --git a/sys/alpha/include/_limits.h b/sys/alpha/include/_limits.h index a2c37ea..6dcca07 100644 --- a/sys/alpha/include/_limits.h +++ b/sys/alpha/include/_limits.h @@ -89,115 +89,6 @@ #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 */ - -#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 <wchar.h> */ -/* 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 */ diff --git a/sys/alpha/include/_stdint.h b/sys/alpha/include/_stdint.h new file mode 100644 index 0000000..85dafea --- /dev/null +++ b/sys/alpha/include/_stdint.h @@ -0,0 +1,171 @@ +/*- + * Copyright (c) 2001, 2002 Mike Barcroft <mike@FreeBSD.org> + * Copyright (c) 2001 The NetBSD Foundation, Inc. + * All rights reserved. + * + * This code is derived from software contributed to The NetBSD Foundation + * by Klaus Klein. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the NetBSD + * Foundation, Inc. and its contributors. + * 4. Neither the name of The NetBSD Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _MACHINE__STDINT_H_ +#define _MACHINE__STDINT_H_ + +#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) + +#define INT8_C(c) (c) +#define INT16_C(c) (c) +#define INT32_C(c) (c) +#define INT64_C(c) (c ## L) + +#define UINT8_C(c) (c) +#define UINT16_C(c) (c) +#define UINT32_C(c) (c ## U) +#define UINT64_C(c) (c ## UL) + +#define INTMAX_C(c) (c ## L) +#define UINTMAX_C(c) (c ## UL) + +#endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */ + +#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 INT8_MIN +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST64_MIN INT64_MIN + +/* Maximum values of minimum-width signed integer types. */ +#define INT_LEAST8_MAX INT8_MAX +#define INT_LEAST16_MAX INT16_MAX +#define INT_LEAST32_MAX INT32_MAX +#define INT_LEAST64_MAX INT64_MAX + +/* Maximum values of minimum-width unsigned integer types. */ +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_LEAST64_MAX UINT64_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 INT32_MIN +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN +#define INT_FAST64_MIN INT64_MIN + +/* Maximum values of fastest minimum-width signed integer types. */ +#define INT_FAST8_MAX INT32_MAX +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX +#define INT_FAST64_MAX INT64_MAX + +/* Maximum values of fastest minimum-width unsigned integer types. */ +#define UINT_FAST8_MAX UINT32_MAX +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX +#define UINT_FAST64_MAX UINT64_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.2.4 Limits of integer types capable of holding object pointers + */ +#define INTPTR_MIN INT64_MIN +#define INTPTR_MAX INT64_MAX +#define UINTPTR_MAX UINT64_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.2.5 Limits of greatest-width integer types + */ +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX + +/* + * ISO/IEC 9899:1999 + * 7.18.3 Limits of other integer types + */ +/* Limits of ptrdiff_t. */ +#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MAX INT64_MAX + +/* Limits of sig_atomic_t. */ +#define SIG_ATOMIC_MIN INT32_MIN +#define SIG_ATOMIC_MAX INT32_MAX + +/* Limit of size_t. */ +#define SIZE_MAX UINT64_MAX + +#ifndef WCHAR_MIN /* Also possibly defined in <wchar.h> */ +/* Limits of wchar_t. */ +#define WCHAR_MIN INT32_MIN +#define WCHAR_MAX INT32_MAX + +/* Limits of wint_t. */ +#define WINT_MIN INT32_MIN +#define WINT_MAX INT32_MAX +#endif + +#endif /* !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) */ + +#endif /* !_MACHINE__STDINT_H_ */ diff --git a/sys/alpha/include/ansi.h b/sys/alpha/include/ansi.h index c653384..d9e4022 100644 --- a/sys/alpha/include/ansi.h +++ b/sys/alpha/include/ansi.h @@ -155,19 +155,6 @@ typedef unsigned long __uint_fast64_t; typedef long __intmax_t; typedef unsigned long __uintmax_t; -#define __INT8_C(c) (c) -#define __INT16_C(c) (c) -#define __INT32_C(c) (c) -#define __INT64_C(c) (c ## L) - -#define __UINT8_C(c) (c) -#define __UINT16_C(c) (c) -#define __UINT32_C(c) (c ## U) -#define __UINT64_C(c) (c ## UL) - -#define __INTMAX_C(c) (c ## L) -#define __UINTMAX_C(c) (c ## UL) - /* * mbstate_t is an opaque object to keep conversion state, during multibyte * stream conversions. The content must not be referenced by user programs. diff --git a/sys/alpha/include/limits.h b/sys/alpha/include/limits.h index a2c37ea..6dcca07 100644 --- a/sys/alpha/include/limits.h +++ b/sys/alpha/include/limits.h @@ -89,115 +89,6 @@ #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 */ - -#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 <wchar.h> */ -/* 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 */ |