summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2013-07-22 13:05:41 -0400
committerRich Felker <dalias@aerifal.cx>2013-07-22 13:05:41 -0400
commitc4dd0c98bae8e3583f68ba5b30db491055ab2322 (patch)
tree7b64cb99e6bc4cc9faff8207d8f78a5e72fb58d2
parent9448b0513e2eec020fbca9c10412b83df5027a16 (diff)
downloadmusl-c4dd0c98bae8e3583f68ba5b30db491055ab2322.tar.gz
change wint_t to unsigned
aside from the obvious C++ ABI purpose for this change, it also brings musl into alignment with the compiler's idea of the definition of wint_t (use in -Wformat), and makes the situation less awkward on ARM, where wchar_t is unsigned. internal code using wint_t and WEOF was checked against this change, and while a few cases of storing WEOF into wchar_t were found, they all seem to operate properly with the natural conversion from unsigned to signed.
-rw-r--r--arch/arm/bits/alltypes.h.in2
-rw-r--r--arch/i386/bits/alltypes.h.in2
-rw-r--r--arch/microblaze/bits/alltypes.h.in2
-rw-r--r--arch/mips/bits/alltypes.h.in2
-rw-r--r--arch/powerpc/bits/alltypes.h.in2
-rw-r--r--arch/x86_64/bits/alltypes.h.in2
-rw-r--r--include/stdint.h4
-rw-r--r--include/wchar.h2
-rw-r--r--include/wctype.h2
9 files changed, 10 insertions, 10 deletions
diff --git a/arch/arm/bits/alltypes.h.in b/arch/arm/bits/alltypes.h.in
index c3228b55..764a2469 100644
--- a/arch/arm/bits/alltypes.h.in
+++ b/arch/arm/bits/alltypes.h.in
@@ -7,7 +7,7 @@ TYPEDEF __builtin_va_list __isoc_va_list;
#ifndef __cplusplus
TYPEDEF unsigned wchar_t;
#endif
-TYPEDEF int wint_t;
+TYPEDEF unsigned wint_t;
TYPEDEF float float_t;
TYPEDEF double double_t;
diff --git a/arch/i386/bits/alltypes.h.in b/arch/i386/bits/alltypes.h.in
index ea6471ed..04fd1cb4 100644
--- a/arch/i386/bits/alltypes.h.in
+++ b/arch/i386/bits/alltypes.h.in
@@ -16,7 +16,7 @@ TYPEDEF __WCHAR_TYPE__ wchar_t;
TYPEDEF long wchar_t;
#endif
#endif
-TYPEDEF long wint_t;
+TYPEDEF unsigned wint_t;
#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 0
TYPEDEF float float_t;
diff --git a/arch/microblaze/bits/alltypes.h.in b/arch/microblaze/bits/alltypes.h.in
index f0ab35fa..eb842aaf 100644
--- a/arch/microblaze/bits/alltypes.h.in
+++ b/arch/microblaze/bits/alltypes.h.in
@@ -7,7 +7,7 @@ TYPEDEF __builtin_va_list __isoc_va_list;
#ifndef __cplusplus
TYPEDEF int wchar_t;
#endif
-TYPEDEF int wint_t;
+TYPEDEF unsigned wint_t;
TYPEDEF float float_t;
TYPEDEF double double_t;
diff --git a/arch/mips/bits/alltypes.h.in b/arch/mips/bits/alltypes.h.in
index f0ab35fa..eb842aaf 100644
--- a/arch/mips/bits/alltypes.h.in
+++ b/arch/mips/bits/alltypes.h.in
@@ -7,7 +7,7 @@ TYPEDEF __builtin_va_list __isoc_va_list;
#ifndef __cplusplus
TYPEDEF int wchar_t;
#endif
-TYPEDEF int wint_t;
+TYPEDEF unsigned wint_t;
TYPEDEF float float_t;
TYPEDEF double double_t;
diff --git a/arch/powerpc/bits/alltypes.h.in b/arch/powerpc/bits/alltypes.h.in
index 928ce70b..1c3fe283 100644
--- a/arch/powerpc/bits/alltypes.h.in
+++ b/arch/powerpc/bits/alltypes.h.in
@@ -7,7 +7,7 @@ TYPEDEF __builtin_va_list __isoc_va_list;
#ifndef __cplusplus
TYPEDEF long wchar_t;
#endif
-TYPEDEF int wint_t;
+TYPEDEF unsigned wint_t;
TYPEDEF float float_t;
TYPEDEF double double_t;
diff --git a/arch/x86_64/bits/alltypes.h.in b/arch/x86_64/bits/alltypes.h.in
index e931d114..b9bff866 100644
--- a/arch/x86_64/bits/alltypes.h.in
+++ b/arch/x86_64/bits/alltypes.h.in
@@ -7,7 +7,7 @@ TYPEDEF __builtin_va_list __isoc_va_list;
#ifndef __cplusplus
TYPEDEF int wchar_t;
#endif
-TYPEDEF int wint_t;
+TYPEDEF unsigned wint_t;
#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 2
TYPEDEF long double float_t;
diff --git a/include/stdint.h b/include/stdint.h
index a783ad96..ad6aaead 100644
--- a/include/stdint.h
+++ b/include/stdint.h
@@ -78,8 +78,8 @@ typedef uint64_t uint_least64_t;
#define INTMAX_MAX INT64_MAX
#define UINTMAX_MAX UINT64_MAX
-#define WINT_MIN INT32_MIN
-#define WINT_MAX INT32_MAX
+#define WINT_MIN 0
+#define WINT_MAX UINT32_MAX
#if L'\0'-1 > 0
#define WCHAR_MAX (0xffffffffu+L'\0')
diff --git a/include/wchar.h b/include/wchar.h
index a6742e37..96cd4447 100644
--- a/include/wchar.h
+++ b/include/wchar.h
@@ -36,7 +36,7 @@ extern "C" {
#define NULL 0L
#undef WEOF
-#define WEOF (-1)
+#define WEOF 0xffffffffU
typedef struct __mbstate_t
{
diff --git a/include/wctype.h b/include/wctype.h
index 5640eddb..8c544f24 100644
--- a/include/wctype.h
+++ b/include/wctype.h
@@ -20,7 +20,7 @@ extern "C" {
typedef const int * wctrans_t;
#undef WEOF
-#define WEOF (-1)
+#define WEOF 0xffffffffU
#undef iswdigit