"Felix Nawothnig" felix.nawothnig@t-online.de wrote:
Frank Richter wrote:
+#define WC_STATICA "Static" +#if defined(__GNUC__) +# define WC_STATICW (const WCHAR []){ 'S','t','a', 't','i','c',0 } +#elif defined(_MSC_VER) +# define WC_STATICW L"Static" +#else +static const WCHAR WC_STATICW[] = { 'S','t','a','t','i','c',0 }; +#endif +#define WC_STATIC WINELIB_NAME_AW(WC_STATIC)
I'm curious, what is the reason for the special case handling for MSVC and GCC when we have to do the portable way anyway?
(const WCHAR []) cast is not portable (gcc only) and L"string" syntax produces different results on different platforms depending on the compiler's builtin wchar_t size.