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