office-gobmx/external/epoxy/clang-cl.patch
Stephan Bergmann a49d3b14a6 external/epoxy: Work around missing clang-cl DLL-init CONSTRUCT support
Looks like neither the __GNUC__ specific __attribute__((constructor)) definition
of CONSTRUCT nor the _MSC_VER specific one (if the #ifs were reordered so that
clang-cl would pick the latter) with __declspec(allocate(".CRT$XCU")) are
supported by clang-cl, and both are rather silently ignored.  That means that
library_init is not called, library_initialized remains false, and the first
call to get_dlopen_handle aborts.

But this whole "verify that get_dlopen_handle isn't called too early" business
is somewhat pointless here (and that's the only use of the CONSTRUCT macro, and
DESTRUCT isn't used at all), so just short-circuit it for clang-cl for now.

Change-Id: I5d50df3574d350f9591e807ef0fb6a1b02dc34ec
2017-04-21 18:34:46 +02:00

14 lines
273 B
Diff
Executable file

--- src/dispatch_common.c
+++ src/dispatch_common.c
@@ -190,7 +190,11 @@
#endif
};
+#if defined _MSC_VER && defined __clang__
+static bool library_initialized = true;
+#else
static bool library_initialized;
+#endif
static bool epoxy_current_context_is_glx(void);