+#ifndef wxWCHAR_T_IS_SEPARATE_TYPE
+ // older versions of VC++ have wchar_t as typedef by default; this is
+ // configurable, so we have to check which behaviour is enabled
+ #if defined(__VISUALC__) && !defined(_NATIVE_WCHAR_T_DEFINED)
+ #define wxWCHAR_T_IS_SEPARATE_TYPE 0
+ #else
+ #define wxWCHAR_T_IS_SEPARATE_TYPE 1
+ #endif
+#endif
+
+// helper macro for doing something dependent on whether wchar_t is or isn't a
+// typedef inside another macro
+#if wxWCHAR_T_IS_SEPARATE_TYPE
+ #define wxIF_WCHAR_T_TYPE(x) x
+#else // !wxWCHAR_T_IS_SEPARATE_TYPE
+ #define wxIF_WCHAR_T_TYPE(x)
+#endif // wxWCHAR_T_IS_SEPARATE_TYPE/!wxWCHAR_T_IS_SEPARATE_TYPE
+