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

Reply via email to