summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2001-12-09 19:38:21 +0000
committerobrien <obrien@FreeBSD.org>2001-12-09 19:38:21 +0000
commitda824e5ba2eaf1e3331ba41b8493d0c63f9ef0ba (patch)
tree2ad974403634464832bf48a07cde3763a7089852
parent9b498cae46fb790cc8b91bda6328cec9639275c5 (diff)
downloadFreeBSD-src-da824e5ba2eaf1e3331ba41b8493d0c63f9ef0ba.zip
FreeBSD-src-da824e5ba2eaf1e3331ba41b8493d0c63f9ef0ba.tar.gz
Following sys/i386/include/ansi.h rev 1.33, add additional integer types
in <machine/ansi.h> and that are required by <sys/stdint.h>.
-rw-r--r--sys/arm/include/ansi.h66
1 files changed, 57 insertions, 9 deletions
diff --git a/sys/arm/include/ansi.h b/sys/arm/include/ansi.h
index 4c3f8de..8e7a9bd 100644
--- a/sys/arm/include/ansi.h
+++ b/sys/arm/include/ansi.h
@@ -37,7 +37,6 @@
#ifndef _MACHINE_ANSI_H_
#define _MACHINE_ANSI_H_
-
/*
* Types which are fundamental to the implementation and may appear in
* more than one standard header are defined here. Standard headers
@@ -47,16 +46,16 @@
* #undef _BSD_SIZE_T_
* #endif
*/
-#define _BSD_CLOCK_T_ int /* clock() */
-#define _BSD_CLOCKID_T_ int /* clockid_t */
+#define _BSD_CLOCK_T_ unsigned long /* clock()... */
+#define _BSD_CLOCKID_T_ int /* clock_gettime()... */
#define _BSD_MBSTATE_T_ __mbstate_t /* mbstate_t */
#define _BSD_PTRDIFF_T_ int /* ptr1 - ptr2 */
#define _BSD_RUNE_T_ _BSD_CT_RUNE_T_ /* rune_t (see below) */
#define _BSD_SIZE_T_ unsigned int /* sizeof() */
#define _BSD_SOCKLEN_T_ __uint32_t /* socklen_t (duh) */
-#define _BSD_SSIZE_T_ long /* byte count or error */
-#define _BSD_TIME_T_ int /* time() */
-#define _BSD_TIMER_T_ int /* timer_t */
+#define _BSD_SSIZE_T_ int /* byte count or error */
+#define _BSD_TIME_T_ int /* time()... */
+#define _BSD_TIMER_T_ int /* timer_gettime()... */
#define _BSD_WCHAR_T_ _BSD_CT_RUNE_T_ /* wchar_t (see below) */
#define _BSD_WINT_T_ _BSD_CT_RUNE_T_ /* wint_t (see below) */
@@ -116,6 +115,23 @@ typedef _BSD_VA_LIST_ __gnuc_va_list; /* compatibility w/GNU headers*/
#define __offsetof(type, field) ((size_t)(&((type *)0)->field))
/*
+ * XXX this paragraph is very out of date.
+ * Typedefs for especially magic types. #define's wouldn't work in the
+ * __GNUC__ case, since __attribute__(()) only works in certain contexts.
+ * This is not in <machine/types.h>, since that has too much namespace
+ * pollution for inclusion in ANSI headers, yet we need __int64_t in at
+ * least <stdio.h>.
+ */
+#ifdef __GNUC__
+typedef int __attribute__((__mode__(__DI__))) __int64_t;
+typedef unsigned int __attribute__((__mode__(__DI__))) __uint64_t;
+#else
+/* LONGLONG */
+typedef long long __int64_t;
+/* LONGLONG */
+typedef unsigned long long __uint64_t;
+#endif
+/*
* Internal names for basic integral types. Omit the typedef if
* not possible for a machine/compiler combination.
*/
@@ -125,12 +141,44 @@ typedef short __int16_t;
typedef unsigned short __uint16_t;
typedef int __int32_t;
typedef unsigned int __uint32_t;
-typedef long long __int64_t;
-typedef unsigned long long __uint64_t;
typedef int __intptr_t;
typedef unsigned int __uintptr_t;
+typedef __signed char __int_least8_t;
+typedef unsigned char __uint_least8_t;
+typedef short __int_least16_t;
+typedef unsigned short __uint_least16_t;
+typedef int __int_least32_t;
+typedef unsigned int __uint_least32_t;
+typedef __int64_t __int_least64_t;
+typedef __uint64_t __uint_least64_t;
+
+typedef int __int_fast8_t;
+typedef unsigned int __uint_fast8_t;
+typedef int __int_fast16_t;
+typedef unsigned int __uint_fast16_t;
+typedef int __int_fast32_t;
+typedef unsigned int __uint_fast32_t;
+typedef __int64_t __int_fast64_t;
+typedef __uint64_t __uint_fast64_t;
+
+typedef __int64_t __intmax_t;
+typedef __uint64_t __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.
@@ -138,6 +186,6 @@ typedef unsigned int __uintptr_t;
typedef union {
char __mbstate8[128];
__int64_t _mbstateL; /* for alignment */
- } __mbstate_t;
+} __mbstate_t;
#endif /* _MACHINE_ANSI_H_ */
OpenPOWER on IntegriCloud