From c7af2710007865861e789b29e803f0f55deba93f Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 4 Apr 2013 19:57:23 -0400 Subject: eliminate bits/wchar.h the preprocessor can reliably determine the signedness of wchar_t. L'\0' is used for 0 in the expressions so that, if the underlying type of wchar_t is long rather than int, the promoted type of the expression will match the type of wchar_t. --- include/wchar.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'include/wchar.h') diff --git a/include/wchar.h b/include/wchar.h index 9ceddd57..d8738818 100644 --- a/include/wchar.h +++ b/include/wchar.h @@ -24,7 +24,13 @@ extern "C" { #include -#include +#if L'\0'-1 > 0 +#define WCHAR_MAX (0xffffffffu+L'\0') +#define WCHAR_MIN (0+L'\0') +#else +#define WCHAR_MAX (0x7fffffff+L'\0') +#define WCHAR_MIN (-1-0x7fffffff+L'\0') +#endif #define NULL 0L -- cgit v1.2.1