mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-27 06:26:15 +01:00
gconstructor.h: Ensure [c|d]tor prototypes are present for MSVC
This way, the generated GResource code won't choke if no prototypes are found when being built by clang-cl, which also goes the _MSC_VER >= 1500 route. Fixes clang-cl build of generated GResources code when building the appstream git checkout, which supported Windows recently, as the build there demands '-Werror,-Wmissing-prototypes'. Part-of: <https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3589>
This commit is contained in:
parent
86fdb4c7bf
commit
b60d97f428
@ -95,6 +95,7 @@
|
||||
#define G_MSVC_CTOR(_func,_sym_prefix) \
|
||||
static void _func(void); \
|
||||
extern int (* _array ## _func)(void); \
|
||||
int _func ## _wrapper(void); \
|
||||
int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \
|
||||
__pragma(comment(linker,"/include:" _sym_prefix # _func "_wrapper")) \
|
||||
__pragma(section(".CRT$XCU",read)) \
|
||||
@ -103,6 +104,7 @@
|
||||
#define G_MSVC_DTOR(_func,_sym_prefix) \
|
||||
static void _func(void); \
|
||||
extern int (* _array ## _func)(void); \
|
||||
int _func ## _constructor(void); \
|
||||
int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \
|
||||
__pragma(comment(linker,"/include:" _sym_prefix # _func "_constructor")) \
|
||||
__pragma(section(".CRT$XCU",read)) \
|
||||
|
Loading…
Reference in New Issue
Block a user