change wint_t to unsigned
authorRich Felker <dalias@aerifal.cx>
Mon, 22 Jul 2013 17:05:41 +0000 (13:05 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 22 Jul 2013 17:05:41 +0000 (13:05 -0400)
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.

arch/arm/bits/alltypes.h.in
arch/i386/bits/alltypes.h.in
arch/microblaze/bits/alltypes.h.in
arch/mips/bits/alltypes.h.in
arch/powerpc/bits/alltypes.h.in
arch/x86_64/bits/alltypes.h.in
include/stdint.h
include/wchar.h
include/wctype.h

index c3228b558ad844543f569037ce335b0b1eaf0f77..764a246910817e198c79ca3fe6acd2c660bfba29 100644 (file)
@@ -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;
index ea6471ed45def0482471f80aad70d9399ee58d60..04fd1cb408a2c967e945e5997ef8ad14048eb4cf 100644 (file)
@@ -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;
index f0ab35fafd3d66f86214f225723b843459afdb45..eb842aaf35ea58c58e83c40d424d725d4d2ba58c 100644 (file)
@@ -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;
index f0ab35fafd3d66f86214f225723b843459afdb45..eb842aaf35ea58c58e83c40d424d725d4d2ba58c 100644 (file)
@@ -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;
index 928ce70b0283989e1dcb3d6702a094351ef9ca92..1c3fe283577a3eff0b2872afea11192d4c0eecab 100644 (file)
@@ -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;
index e931d1149fc09849c4533e45518eb045cd7d9565..b9bff866c14b0fae33f643b557692286f81b6a52 100644 (file)
@@ -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;
index a783ad961496b1e244137a8ea99d20d103d598af..ad6aaead6e45524312a9bb70b2f33edd9803e953 100644 (file)
@@ -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')
index a6742e3751884534ace7db28b12d86179b2fbec6..96cd4447f8c34aa72817b4691b4855f00bd915d2 100644 (file)
@@ -36,7 +36,7 @@ extern "C" {
 #define NULL 0L
 
 #undef WEOF
-#define WEOF (-1)
+#define WEOF 0xffffffffU
 
 typedef struct __mbstate_t
 {
index 5640eddbe33cd31baaf69e1658e0823899262d65..8c544f24bb538df4ca2811dfd993aa2b68812046 100644 (file)
@@ -20,7 +20,7 @@ extern "C" {
 typedef const int * wctrans_t;
 
 #undef WEOF
-#define WEOF (-1)
+#define WEOF 0xffffffffU
 
 #undef iswdigit