Felix Nawothnig 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?
I can see two reasons:
* The portable way adds a (non-standard) symbol. * The static string declaration may not be discarded by some compilers, so it may needlessly increase the size of our binaries.
Mike