Index: test/Preprocessor/init.c =================================================================== --- test/Preprocessor/init.c (revision 122970) +++ test/Preprocessor/init.c (working copy) @@ -217,7 +217,7 @@ // ARM:#define __WCHAR_MAX__ 2147483647 // ARM:#define __WCHAR_TYPE__ int // ARM:#define __WCHAR_WIDTH__ 32 -// ARM:#define __WINT_TYPE__ int +// ARM:#define __WINT_TYPE__ unsigned int // ARM:#define __WINT_WIDTH__ 32 // ARM:#define __arm 1 // ARM:#define __arm__ 1 @@ -313,7 +313,7 @@ // BFIN:#define __WCHAR_MAX__ 2147483647 // BFIN:#define __WCHAR_TYPE__ int // BFIN:#define __WCHAR_WIDTH__ 32 -// BFIN:#define __WINT_TYPE__ int +// BFIN:#define __WINT_TYPE__ unsigned int // BFIN:#define __WINT_WIDTH__ 32 // BFIN:#define __bfin 1 // BFIN:#define __bfin__ 1 @@ -408,7 +408,7 @@ // I386:#define __WCHAR_MAX__ 2147483647 // I386:#define __WCHAR_TYPE__ int // I386:#define __WCHAR_WIDTH__ 32 -// I386:#define __WINT_TYPE__ int +// I386:#define __WINT_TYPE__ unsigned int // I386:#define __WINT_WIDTH__ 32 // I386:#define __i386 1 // I386:#define __i386__ 1 @@ -504,7 +504,7 @@ // MSP430:#define __WCHAR_MAX__ 32767 // MSP430:#define __WCHAR_TYPE__ int // MSP430:#define __WCHAR_WIDTH__ 16 -// MSP430:#define __WINT_TYPE__ int +// MSP430:#define __WINT_TYPE__ unsigned int // MSP430:#define __WINT_WIDTH__ 16 // MSP430:#define __clang__ 1 // @@ -605,7 +605,7 @@ // PPC64:#define __WCHAR_MAX__ 2147483647 // PPC64:#define __WCHAR_TYPE__ int // PPC64:#define __WCHAR_WIDTH__ 32 -// PPC64:#define __WINT_TYPE__ int +// PPC64:#define __WINT_TYPE__ unsigned int // PPC64:#define __WINT_WIDTH__ 32 // PPC64:#define __ppc64__ 1 // PPC64:#define __ppc__ 1 @@ -704,7 +704,7 @@ // PPC:#define __WCHAR_MAX__ 2147483647 // PPC:#define __WCHAR_TYPE__ int // PPC:#define __WCHAR_WIDTH__ 32 -// PPC:#define __WINT_TYPE__ int +// PPC:#define __WINT_TYPE__ unsigned int // PPC:#define __WINT_WIDTH__ 32 // PPC:#define __ppc__ 1 // @@ -795,7 +795,7 @@ // S390X:#define __WCHAR_MAX__ 2147483647 // S390X:#define __WCHAR_TYPE__ int // S390X:#define __WCHAR_WIDTH__ 32 -// S390X:#define __WINT_TYPE__ int +// S390X:#define __WINT_TYPE__ unsigned int // S390X:#define __WINT_WIDTH__ 32 // S390X:#define __s390__ 1 // S390X:#define __s390x__ 1 @@ -888,7 +888,7 @@ // SPARC:#define __WCHAR_MAX__ 2147483647 // SPARC:#define __WCHAR_TYPE__ int // SPARC:#define __WCHAR_WIDTH__ 32 -// SPARC:#define __WINT_TYPE__ int +// SPARC:#define __WINT_TYPE__ unsigned int // SPARC:#define __WINT_WIDTH__ 32 // SPARC:#define __sparc 1 // SPARC:#define __sparc__ 1 @@ -981,7 +981,7 @@ // TCE:#define __WCHAR_MAX__ 2147483647 // TCE:#define __WCHAR_TYPE__ int // TCE:#define __WCHAR_WIDTH__ 32 -// TCE:#define __WINT_TYPE__ int +// TCE:#define __WINT_TYPE__ unsigned int // TCE:#define __WINT_WIDTH__ 32 // TCE:#define __tce 1 // TCE:#define __tce__ 1 @@ -1083,7 +1083,7 @@ // X86_64:#define __WCHAR_MAX__ 2147483647 // X86_64:#define __WCHAR_TYPE__ int // X86_64:#define __WCHAR_WIDTH__ 32 -// X86_64:#define __WINT_TYPE__ int +// X86_64:#define __WINT_TYPE__ unsigned int // X86_64:#define __WINT_WIDTH__ 32 // X86_64:#define __amd64 1 // X86_64:#define __amd64__ 1 Index: test/Preprocessor/stdint.c =================================================================== --- test/Preprocessor/stdint.c (revision 122970) +++ test/Preprocessor/stdint.c (working copy) @@ -87,8 +87,8 @@ // // ARM:SIG_ATOMIC_MIN_ (-2147483647 -1) // ARM:SIG_ATOMIC_MAX_ 2147483647 -// ARM:WINT_MIN_ (-2147483647 -1) -// ARM:WINT_MAX_ 2147483647 +// ARM:WINT_MIN_ 0 +// ARM:WINT_MAX_ 4294967295U // // ARM:WCHAR_MAX_ 2147483647 // ARM:WCHAR_MIN_ (-2147483647 -1) @@ -195,8 +195,8 @@ // // BFIN:SIG_ATOMIC_MIN_ (-2147483647 -1) // BFIN:SIG_ATOMIC_MAX_ 2147483647 -// BFIN:WINT_MIN_ (-2147483647 -1) -// BFIN:WINT_MAX_ 2147483647 +// BFIN:WINT_MIN_ 0 +// BFIN:WINT_MAX_ 4294967295U // // BFIN:WCHAR_MAX_ 2147483647 // BFIN:WCHAR_MIN_ (-2147483647 -1) @@ -303,8 +303,8 @@ // // I386:SIG_ATOMIC_MIN_ (-2147483647 -1) // I386:SIG_ATOMIC_MAX_ 2147483647 -// I386:WINT_MIN_ (-2147483647 -1) -// I386:WINT_MAX_ 2147483647 +// I386:WINT_MIN_ 0 +// I386:WINT_MAX_ 4294967295U // // I386:WCHAR_MAX_ 2147483647 // I386:WCHAR_MIN_ (-2147483647 -1) @@ -403,8 +403,8 @@ // // MSP430:SIG_ATOMIC_MIN_ (-2147483647L -1) // MSP430:SIG_ATOMIC_MAX_ 2147483647L -// MSP430:WINT_MIN_ (-32767 -1) -// MSP430:WINT_MAX_ 32767 +// MSP430:WINT_MIN_ 0 +// MSP430:WINT_MAX_ 65535U // // MSP430:WCHAR_MAX_ 32767 // MSP430:WCHAR_MIN_ (-32767 -1) @@ -510,8 +510,8 @@ // // PPC64:SIG_ATOMIC_MIN_ (-2147483647 -1) // PPC64:SIG_ATOMIC_MAX_ 2147483647 -// PPC64:WINT_MIN_ (-2147483647 -1) -// PPC64:WINT_MAX_ 2147483647 +// PPC64:WINT_MIN_ 0 +// PPC64:WINT_MAX_ 4294967295U // // PPC64:WCHAR_MAX_ 2147483647 // PPC64:WCHAR_MIN_ (-2147483647 -1) @@ -618,8 +618,8 @@ // // PPC:SIG_ATOMIC_MIN_ (-2147483647 -1) // PPC:SIG_ATOMIC_MAX_ 2147483647 -// PPC:WINT_MIN_ (-2147483647 -1) -// PPC:WINT_MAX_ 2147483647 +// PPC:WINT_MIN_ 0 +// PPC:WINT_MAX_ 4294967295U // // PPC:WCHAR_MAX_ 2147483647 // PPC:WCHAR_MIN_ (-2147483647 -1) @@ -725,8 +725,8 @@ // // S390X:SIG_ATOMIC_MIN_ (-2147483647 -1) // S390X:SIG_ATOMIC_MAX_ 2147483647 -// S390X:WINT_MIN_ (-2147483647 -1) -// S390X:WINT_MAX_ 2147483647 +// S390X:WINT_MIN_ 0 +// S390X:WINT_MAX_ 4294967295U // // S390X:WCHAR_MAX_ 2147483647 // S390X:WCHAR_MIN_ (-2147483647 -1) @@ -832,8 +832,8 @@ // // SPARC:SIG_ATOMIC_MIN_ (-2147483647 -1) // SPARC:SIG_ATOMIC_MAX_ 2147483647 -// SPARC:WINT_MIN_ (-2147483647 -1) -// SPARC:WINT_MAX_ 2147483647 +// SPARC:WINT_MIN_ 0 +// SPARC:WINT_MAX_ 4294967295U // // SPARC:WCHAR_MAX_ 2147483647 // SPARC:WCHAR_MIN_ (-2147483647 -1) @@ -932,8 +932,8 @@ // // TCE:SIG_ATOMIC_MIN_ (-2147483647 -1) // TCE:SIG_ATOMIC_MAX_ 2147483647 -// TCE:WINT_MIN_ (-2147483647 -1) -// TCE:WINT_MAX_ 2147483647 +// TCE:WINT_MIN_ 0 +// TCE:WINT_MAX_ 4294967295U // // TCE:WCHAR_MAX_ 2147483647 // TCE:WCHAR_MIN_ (-2147483647 -1) @@ -1040,8 +1040,8 @@ // // X86_64:SIG_ATOMIC_MIN_ (-2147483647 -1) // X86_64:SIG_ATOMIC_MAX_ 2147483647 -// X86_64:WINT_MIN_ (-2147483647 -1) -// X86_64:WINT_MAX_ 2147483647 +// X86_64:WINT_MIN_ 0 +// X86_64:WINT_MAX_ 4294967295U // // X86_64:WCHAR_MAX_ 2147483647 // X86_64:WCHAR_MIN_ (-2147483647 -1) @@ -1081,8 +1081,8 @@ // JOIN:UINTMAX_MAX_ 18446744073709551615ULL // JOIN:SIG_ATOMIC_MIN_ (-2147483647 -1) // JOIN:SIG_ATOMIC_MAX_ 2147483647 -// JOIN:WINT_MIN_ (-2147483647 -1) -// JOIN:WINT_MAX_ 2147483647 +// JOIN:WINT_MIN_ 0 +// JOIN:WINT_MAX_ 4294967295U // JOIN:WCHAR_MAX_ 2147483647 // JOIN:WCHAR_MIN_ (-2147483647 -1) // JOIN:INTMAX_C_(0) 0LL Index: lib/Basic/TargetInfo.cpp =================================================================== --- lib/Basic/TargetInfo.cpp (revision 122970) +++ lib/Basic/TargetInfo.cpp (working copy) @@ -44,7 +44,7 @@ UIntMaxType = UnsignedLongLong; IntPtrType = SignedLong; WCharType = SignedInt; - WIntType = SignedInt; + WIntType = UnsignedInt; Char16Type = UnsignedShort; Char32Type = UnsignedInt; Int64Type = SignedLongLong; Index: lib/Headers/stdint.h =================================================================== --- lib/Headers/stdint.h (revision 122970) +++ lib/Headers/stdint.h (working copy) @@ -630,8 +630,8 @@ /* C99 7.18.3 Limits of other integer types. */ #define SIG_ATOMIC_MIN __INTN_MIN(__SIG_ATOMIC_WIDTH__) #define SIG_ATOMIC_MAX __INTN_MAX(__SIG_ATOMIC_WIDTH__) -#define WINT_MIN __INTN_MIN(__WINT_WIDTH__) -#define WINT_MAX __INTN_MAX(__WINT_WIDTH__) +#define WINT_MIN 0 +#define WINT_MAX __UINTN_MAX(__WINT_WIDTH__) /* FIXME: if we ever support a target with unsigned wchar_t, this should be * 0 .. Max.