diff options
-rwxr-xr-x | arch/arm/bits/alltypes.h.sh | 8 | ||||
-rw-r--r-- | arch/arm/bits/wchar.h | 4 | ||||
-rw-r--r-- | arch/i386/bits/wchar.h | 4 | ||||
-rw-r--r-- | arch/x86_64/bits/wchar.h | 4 | ||||
-rw-r--r-- | include/stdint.h | 13 | ||||
-rw-r--r-- | include/wchar.h | 8 |
6 files changed, 20 insertions, 21 deletions
diff --git a/arch/arm/bits/alltypes.h.sh b/arch/arm/bits/alltypes.h.sh index 6409a96e..11f1d93f 100755 --- a/arch/arm/bits/alltypes.h.sh +++ b/arch/arm/bits/alltypes.h.sh @@ -22,12 +22,8 @@ TYPEDEF long ptrdiff_t; TYPEDEF __builtin_va_list va_list; -#ifdef __WCHAR_TYPE__ -TYPEDEF __WCHAR_TYPE__ wchar_t; -#else -TYPEDEF long wchar_t; -#endif -TYPEDEF long wint_t; +TYPEDEF unsigned wchar_t; +TYPEDEF int wint_t; TYPEDEF long wctrans_t; TYPEDEF long wctype_t; diff --git a/arch/arm/bits/wchar.h b/arch/arm/bits/wchar.h new file mode 100644 index 00000000..ffb26917 --- /dev/null +++ b/arch/arm/bits/wchar.h @@ -0,0 +1,4 @@ +#ifndef WCHAR_MIN +#define WCHAR_MIN 0U +#define WCHAR_MAX 0xffffffffU +#endif diff --git a/arch/i386/bits/wchar.h b/arch/i386/bits/wchar.h new file mode 100644 index 00000000..c969c5b6 --- /dev/null +++ b/arch/i386/bits/wchar.h @@ -0,0 +1,4 @@ +#ifndef WCHAR_MIN +#define WCHAR_MIN (-1-0x7fffffff) +#define WCHAR_MAX (0x7fffffff) +#endif diff --git a/arch/x86_64/bits/wchar.h b/arch/x86_64/bits/wchar.h new file mode 100644 index 00000000..c969c5b6 --- /dev/null +++ b/arch/x86_64/bits/wchar.h @@ -0,0 +1,4 @@ +#ifndef WCHAR_MIN +#define WCHAR_MIN (-1-0x7fffffff) +#define WCHAR_MAX (0x7fffffff) +#endif diff --git a/include/stdint.h b/include/stdint.h index a4c73b5e..54006678 100644 --- a/include/stdint.h +++ b/include/stdint.h @@ -71,19 +71,14 @@ typedef unsigned long long uintmax_t; #define UINT_LEAST32_MAX UINT32_MAX #define UINT_LEAST64_MAX UINT64_MAX -#undef WCHAR_MIN -#undef WCHAR_MAX -#undef WINT_MIN -#undef WINT_MAX -#define WCHAR_MIN INT32_MIN -#define WCHAR_MAX INT32_MAX -#define WINT_MIN INT32_MIN -#define WINT_MAX INT32_MAX - #define INTMAX_MIN INT64_MIN #define INTMAX_MAX INT64_MAX #define UINTMAX_MAX UINT64_MAX +#define WINT_MIN INT32_MIN +#define WINT_MAX INT32_MAX + +#include <bits/wchar.h> #include <bits/stdint.h> #endif diff --git a/include/wchar.h b/include/wchar.h index c3d8b045..87e244a3 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -17,6 +17,8 @@ extern "C" { #include <bits/alltypes.h> +#include <bits/wchar.h> + #undef NULL #ifdef __cplusplus #define NULL 0 @@ -24,15 +26,9 @@ extern "C" { #define NULL ((void*)0) #endif -#undef WCHAR_MIN -#undef WCHAR_MAX -#define WCHAR_MIN (-1-0x7fffffff) -#define WCHAR_MAX (0x7fffffff) - #undef WEOF #define WEOF (-1) - typedef struct { unsigned __opaque1, __opaque2; |