X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5f7bcb48fd9a642036a3bf5c70e2b0c9576df1b1..8318935126f3860a4d52d58e131af9e9bea8fc9a:/include/wx/defs.h?ds=sidebyside diff --git a/include/wx/defs.h b/include/wx/defs.h index f385649ec3..5a04a4f19c 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -696,9 +696,9 @@ typedef wxUint16 wxWord; typedef int wxInt32; typedef unsigned int wxUint32; - #if defined(__MACH__) && !defined(SIZEOF_WCHAR_T) - #define SIZEOF_WCHAR_T 4 - #endif + #if defined(__MACH__) && !defined(SIZEOF_WCHAR_T) + #define SIZEOF_WCHAR_T 4 + #endif #if wxUSE_WCHAR_T && !defined(SIZEOF_WCHAR_T) /* also assume that sizeof(wchar_t) == 2 (under Unix the most */ /* common case is 4 but there configure would have defined */ @@ -817,6 +817,24 @@ typedef float wxFloat32; typedef double wxDouble; #endif +/* + Some (non standard) compilers typedef wchar_t as an existing type instead + of treating it as a real fundamental type, set wxWCHAR_T_IS_REAL_TYPE to 0 + for them and to 1 for all the others. + */ +#if wxUSE_WCHAR_T + /* + VC++ typedefs wchar_t as unsigned short by default, that is unless + /Za or /Zc:wchar_t option is used in which case _WCHAR_T_DEFINED is + defined. + */ +# if defined(__VISUALC__) && !defined(_NATIVE_WCHAR_T_DEFINED) +# define wxWCHAR_T_IS_REAL_TYPE 0 +# else /* compiler having standard-conforming wchar_t */ +# define wxWCHAR_T_IS_REAL_TYPE 1 +# endif +#endif /* wxUSE_WCHAR_T */ + /* ---------------------------------------------------------------------------- */ /* byte ordering related definition and macros */ /* ---------------------------------------------------------------------------- */ @@ -1039,7 +1057,7 @@ enum wxStretch wxTILE = 0xc000, // for compatibility only, default now, don't use explicitly any more -#if WXWIN_COMPATIBILITY_2_4 +#if WXWIN_COMPATIBILITY_2_4 wxADJUST_MINSIZE = 0x00100000 #else wxADJUST_MINSIZE = 0