diff options
author | andrew <andrew@FreeBSD.org> | 2012-06-24 04:15:58 +0000 |
---|---|---|
committer | andrew <andrew@FreeBSD.org> | 2012-06-24 04:15:58 +0000 |
commit | 0a7002aae7e61d6d39fe1f0321e5c165246d87e3 (patch) | |
tree | e552f71c40d544605624d7aef2aa2206548a6f01 /sys/sys/_types.h | |
parent | 2d5bdc7fffd9e35e7cecb5d639ce503ef8c73fef (diff) | |
download | FreeBSD-src-0a7002aae7e61d6d39fe1f0321e5c165246d87e3.zip FreeBSD-src-0a7002aae7e61d6d39fe1f0321e5c165246d87e3.tar.gz |
Make the wchar_t type machine dependent.
This is required for ARM EABI. Section 7.1.1 of the Procedure Call for the
ARM Architecture (AAPCS) defines wchar_t as either an unsigned int or an
unsigned short with the former preferred.
Because of this requirement we need to move the definition of __wchar_t to
a machine dependent header. It also cleans up the macros defining the limits
of wchar_t by defining __WCHAR_MIN and __WCHAR_MAX in the same machine
dependent header then using them to define WCHAR_MIN and WCHAR_MAX
respectively.
Discussed with: bde
Diffstat (limited to 'sys/sys/_types.h')
-rw-r--r-- | sys/sys/_types.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/sys/_types.h b/sys/sys/_types.h index c59afd3..27ecaf4 100644 --- a/sys/sys/_types.h +++ b/sys/sys/_types.h @@ -80,14 +80,13 @@ typedef int __cpusetid_t; /* cpuset identifier. */ * ANSI C), but they use __ct_rune_t instead of int. * * NOTE: rune_t is not covered by ANSI nor other standards, and should not - * be instantiated outside of lib/libc/locale. Use wchar_t. wchar_t and - * rune_t must be the same type. Also, wint_t must be no narrower than - * wchar_t, and should be able to hold all members of the largest - * character set plus one extra value (WEOF), and must be at least 16 bits. + * be instantiated outside of lib/libc/locale. Use wchar_t. wint_t and + * rune_t must be the same type. Also, wint_t should be able to hold all + * members of the largest character set plus one extra value (WEOF), and + * must be at least 16 bits. */ typedef int __ct_rune_t; /* arg type for ctype funcs */ typedef __ct_rune_t __rune_t; /* rune_t (see above) */ -typedef __ct_rune_t __wchar_t; /* wchar_t (see above) */ typedef __ct_rune_t __wint_t; /* wint_t (see above) */ typedef __uint32_t __dev_t; /* device number */ |