summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
authormike <mike@FreeBSD.org>2002-07-29 17:41:23 +0000
committermike <mike@FreeBSD.org>2002-07-29 17:41:23 +0000
commit9f0ddc464e0c402f25ea8ae47e53ae9dba1c60c6 (patch)
treefb04866abc5687d2f4e78a89dc6942070f762ba8 /sys/powerpc
parent0bf99191f0746f4d69a3d5389f707ff9a2630553 (diff)
downloadFreeBSD-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/powerpc')
-rw-r--r--sys/powerpc/include/_limits.h109
-rw-r--r--sys/powerpc/include/_stdint.h171
-rw-r--r--sys/powerpc/include/ansi.h13
-rw-r--r--sys/powerpc/include/limits.h109
4 files changed, 171 insertions, 231 deletions
diff --git a/sys/powerpc/include/_limits.h b/sys/powerpc/include/_limits.h
index dcf2ba4..5eae4ad 100644
--- a/sys/powerpc/include/_limits.h
+++ b/sys/powerpc/include/_limits.h
@@ -100,115 +100,6 @@
#define UQUAD_MAX ULLONG_MAX /* max value for a uquad_t */
#define QUAD_MAX LLONG_MAX /* max value for a quad_t */
#define QUAD_MIN LLONG_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 (-0x7fffffffffffffffLL-1)
-
-/* Maximum values of exact-width signed integer types. */
-#define INT8_MAX 0x7f
-#define INT16_MAX 0x7fff
-#define INT32_MAX 0x7fffffff
-#define INT64_MAX 0x7fffffffffffffffLL
-
-/* Maximum values of exact-width unsigned integer types. */
-#define UINT8_MAX 0xff
-#define UINT16_MAX 0xffff
-#define UINT32_MAX 0xffffffffU
-#define UINT64_MAX 0xffffffffffffffffULL
-
-/*
- * 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 LLONG_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 LLONG_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 ULLONG_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 LLONG_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 LLONG_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 ULLONG_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.2.4 Limits of integer types capable of holding object pointers
- */
-#define INTPTR_MIN INT_MIN
-#define INTPTR_MAX INT_MAX
-#define UINTPTR_MAX UINT_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.2.5 Limits of greatest-width integer types
- */
-#define INTMAX_MIN LLONG_MIN
-#define INTMAX_MAX LLONG_MAX
-#define UINTMAX_MAX ULLONG_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.3 Limits of other integer types
- */
-/* Limits of ptrdiff_t. */
-#define PTRDIFF_MIN INT_MIN
-#define PTRDIFF_MAX INT_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 UINT_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 */
#endif /* !_ANSI_SOURCE */
diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h
new file mode 100644
index 0000000..6dc5a72
--- /dev/null
+++ b/sys/powerpc/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 ## LL)
+
+#define UINT8_C(c) (c)
+#define UINT16_C(c) (c)
+#define UINT32_C(c) (c ## U)
+#define UINT64_C(c) (c ## ULL)
+
+#define INTMAX_C(c) (c ## LL)
+#define UINTMAX_C(c) (c ## ULL)
+
+#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 (-0x7fffffffffffffffLL-1)
+
+/* Maximum values of exact-width signed integer types. */
+#define INT8_MAX 0x7f
+#define INT16_MAX 0x7fff
+#define INT32_MAX 0x7fffffff
+#define INT64_MAX 0x7fffffffffffffffLL
+
+/* Maximum values of exact-width unsigned integer types. */
+#define UINT8_MAX 0xff
+#define UINT16_MAX 0xffff
+#define UINT32_MAX 0xffffffffU
+#define UINT64_MAX 0xffffffffffffffffULL
+
+/*
+ * 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 INT32_MIN
+#define INTPTR_MAX INT32_MAX
+#define UINTPTR_MAX UINT32_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 INT32_MIN
+#define PTRDIFF_MAX INT32_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 UINT32_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/powerpc/include/ansi.h b/sys/powerpc/include/ansi.h
index a3f401e..19fcc5a 100644
--- a/sys/powerpc/include/ansi.h
+++ b/sys/powerpc/include/ansi.h
@@ -156,19 +156,6 @@ typedef unsigned long long __uint_fast64_t;
typedef long long __intmax_t;
typedef unsigned long long __uintmax_t;
-#define __INT8_C(c) (c)
-#define __INT16_C(c) (c)
-#define __INT32_C(c) (c)
-#define __INT64_C(c) (c ## LL)
-
-#define __UINT8_C(c) (c)
-#define __UINT16_C(c) (c)
-#define __UINT32_C(c) (c ## U)
-#define __UINT64_C(c) (c ## ULL)
-
-#define __INTMAX_C(c) (c ## LL)
-#define __UINTMAX_C(c) (c ## ULL)
-
/*
* 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/powerpc/include/limits.h b/sys/powerpc/include/limits.h
index dcf2ba4..5eae4ad 100644
--- a/sys/powerpc/include/limits.h
+++ b/sys/powerpc/include/limits.h
@@ -100,115 +100,6 @@
#define UQUAD_MAX ULLONG_MAX /* max value for a uquad_t */
#define QUAD_MAX LLONG_MAX /* max value for a quad_t */
#define QUAD_MIN LLONG_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 (-0x7fffffffffffffffLL-1)
-
-/* Maximum values of exact-width signed integer types. */
-#define INT8_MAX 0x7f
-#define INT16_MAX 0x7fff
-#define INT32_MAX 0x7fffffff
-#define INT64_MAX 0x7fffffffffffffffLL
-
-/* Maximum values of exact-width unsigned integer types. */
-#define UINT8_MAX 0xff
-#define UINT16_MAX 0xffff
-#define UINT32_MAX 0xffffffffU
-#define UINT64_MAX 0xffffffffffffffffULL
-
-/*
- * 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 LLONG_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 LLONG_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 ULLONG_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 LLONG_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 LLONG_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 ULLONG_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.2.4 Limits of integer types capable of holding object pointers
- */
-#define INTPTR_MIN INT_MIN
-#define INTPTR_MAX INT_MAX
-#define UINTPTR_MAX UINT_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.2.5 Limits of greatest-width integer types
- */
-#define INTMAX_MIN LLONG_MIN
-#define INTMAX_MAX LLONG_MAX
-#define UINTMAX_MAX ULLONG_MAX
-
-/*
- * ISO/IEC 9899:1999
- * 7.18.3 Limits of other integer types
- */
-/* Limits of ptrdiff_t. */
-#define PTRDIFF_MIN INT_MIN
-#define PTRDIFF_MAX INT_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 UINT_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 */
#endif /* !_ANSI_SOURCE */
OpenPOWER on IntegriCloud