> [email protected] writes: >> That code is only in use when sizeof(wchar_t) >= 4. The C library >> standard mandates wchar_t to be integer, thus signed. If I promote >> 0x80000000 to 0x80000000LL, when sizeof(wchar_t) == 4, like in my case, >> the test will always be true, and the compiler will complain about the >> test always being true. Everything would be fine otherwise. > > Now C90 compilers get to warn about long long instead. > With the new #if SIZEOF_WCHAR_T > 4, "if(wchar < (wchar_t)0x80000000UL)" > should be sufficient.
0x80000000UL is == 0x80000000, as costants >= 0xffffffff are automatically promoted to unsigned. p.
