aboutsummaryrefslogtreecommitdiff
path: root/sys/sparc64/include
diff options
context:
space:
mode:
authorAndrew Turner <andrew@FreeBSD.org>2012-06-24 04:15:58 +0000
committerAndrew Turner <andrew@FreeBSD.org>2012-06-24 04:15:58 +0000
commit74dc547e24c143e53bdcfdc02a718cf09abbf0f2 (patch)
treee552f71c40d544605624d7aef2aa2206548a6f01 /sys/sparc64/include
parentf745b1635901f37c921bc27de9aa80a6edc4d5fb (diff)
downloadsrc-74dc547e24c143e53bdcfdc02a718cf09abbf0f2.tar.gz
src-74dc547e24c143e53bdcfdc02a718cf09abbf0f2.zip
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
Notes
Notes: svn path=/head/; revision=237517
Diffstat (limited to 'sys/sparc64/include')
-rw-r--r--sys/sparc64/include/_stdint.h6
-rw-r--r--sys/sparc64/include/_types.h4
2 files changed, 4 insertions, 6 deletions
diff --git a/sys/sparc64/include/_stdint.h b/sys/sparc64/include/_stdint.h
index e36c6598861b..cb3b1a230595 100644
--- a/sys/sparc64/include/_stdint.h
+++ b/sys/sparc64/include/_stdint.h
@@ -149,12 +149,6 @@
/* 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
-#endif
-
/* Limits of wint_t. */
#define WINT_MIN INT32_MIN
#define WINT_MAX INT32_MAX
diff --git a/sys/sparc64/include/_types.h b/sys/sparc64/include/_types.h
index 5899401ff29c..aa8a299a2f81 100644
--- a/sys/sparc64/include/_types.h
+++ b/sys/sparc64/include/_types.h
@@ -92,6 +92,10 @@ typedef __int64_t __vm_ooffset_t;
typedef __uint64_t __vm_paddr_t;
typedef __uint64_t __vm_pindex_t;
typedef __uint64_t __vm_size_t;
+typedef int __wchar_t;
+
+#define __WCHAR_MIN __INT_MIN /* min value for a wchar_t */
+#define __WCHAR_MAX __INT_MAX /* max value for a wchar_t */
/*
* Unusual type definitions.