Declare wint_t in <stddef.h> when needed

Some old glibcs <wctype.h> require <stddef.h> to provide
wint_t, accomodate them.
This commit is contained in:
Michael Matz
2014-04-07 00:26:36 +02:00
parent 0e43f3aef4
commit 0961a38493
2 changed files with 24 additions and 0 deletions

View File

@ -988,8 +988,17 @@ LIBTCCAPI TCCState *tcc_new(void)
#ifdef TCC_TARGET_PE
tcc_define_symbol(s, "__WCHAR_TYPE__", "unsigned short");
tcc_define_symbol(s, "__WINT_TYPE__", "unsigned short");
#else
tcc_define_symbol(s, "__WCHAR_TYPE__", "int");
/* wint_t is unsigned int by default, but (signed) int on BSDs
and unsigned short on windows. Other OSes might have still
other conventions, sigh. */
#if defined(__FreeBSD__) || defined (__FreeBSD_kernel__)
tcc_define_symbol(s, "__WINT_TYPE__", "int");
#else
tcc_define_symbol(s, "__WINT_TYPE__", "unsigned int");
#endif
#endif
#ifndef TCC_TARGET_PE