diff options
Diffstat (limited to 'lib/wchar.in.h')
-rw-r--r-- | lib/wchar.in.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/wchar.in.h b/lib/wchar.in.h index 7514958fe..71af75a98 100644 --- a/lib/wchar.in.h +++ b/lib/wchar.in.h @@ -98,6 +98,18 @@ # define WEOF -1 # endif #else +/* MSVC defines wint_t as 'unsigned short' in <crtdefs.h>. + This is too small: ISO C 99 section 7.24.1.(2) says that wint_t must be + "unchanged by default argument promotions". Override it. */ +# if defined _MSC_VER +# if !GNULIB_defined_wint_t +# include <crtdefs.h> +typedef unsigned int rpl_wint_t; +# undef wint_t +# define wint_t rpl_wint_t +# define GNULIB_defined_wint_t 1 +# endif +# endif # ifndef WEOF # define WEOF ((wint_t) -1) # endif |