Default weak fns impl on MSVC
This commit is contained in:
parent
cc52e20256
commit
83f413f8b1
@ -62,6 +62,15 @@
|
|||||||
Name) "=" WIN_SYM_PREFIX STRINGIFY(Default)))
|
Name) "=" WIN_SYM_PREFIX STRINGIFY(Default)))
|
||||||
|
|
||||||
#define CHECK_WEAK_FN(Name) ((void*)Name != (void*)&Name##Def)
|
#define CHECK_WEAK_FN(Name) ((void*)Name != (void*)&Name##Def)
|
||||||
|
|
||||||
|
#define EXT_FUNC_IMPL(NAME, RETURN_TYPE, FUNC_SIG, WARN) \
|
||||||
|
RETURN_TYPE NAME##Def FUNC_SIG; \
|
||||||
|
EXTERNAL_FUNC(NAME, NAME##Def) RETURN_TYPE NAME FUNC_SIG; \
|
||||||
|
RETURN_TYPE NAME##Def FUNC_SIG \
|
||||||
|
|
||||||
|
#define EXT_FUNC(NAME, RETURN_TYPE, FUNC_SIG, WARN) \
|
||||||
|
RETURN_TYPE (*NAME##Def) FUNC_SIG = NULL; \
|
||||||
|
EXTERNAL_FUNC(NAME, NAME##Def) RETURN_TYPE NAME FUNC_SIG
|
||||||
#else
|
#else
|
||||||
// Declare external functions as weak to allow them to default to a specified
|
// Declare external functions as weak to allow them to default to a specified
|
||||||
// function if not defined explicitly. We must use weak symbols because clang's
|
// function if not defined explicitly. We must use weak symbols because clang's
|
||||||
@ -71,7 +80,6 @@
|
|||||||
__attribute__((weak, alias(STRINGIFY(Default))))
|
__attribute__((weak, alias(STRINGIFY(Default))))
|
||||||
|
|
||||||
#define CHECK_WEAK_FN(Name) (Name != NULL)
|
#define CHECK_WEAK_FN(Name) (Name != NULL)
|
||||||
#endif // _MSC_VER
|
|
||||||
|
|
||||||
#define EXT_FUNC_IMPL(NAME, RETURN_TYPE, FUNC_SIG, WARN) \
|
#define EXT_FUNC_IMPL(NAME, RETURN_TYPE, FUNC_SIG, WARN) \
|
||||||
EXT_FUNC(NAME, RETURN_TYPE, FUNC_SIG, WARN)
|
EXT_FUNC(NAME, RETURN_TYPE, FUNC_SIG, WARN)
|
||||||
@ -79,6 +87,8 @@
|
|||||||
#define EXT_FUNC(NAME, RETURN_TYPE, FUNC_SIG, WARN) \
|
#define EXT_FUNC(NAME, RETURN_TYPE, FUNC_SIG, WARN) \
|
||||||
RETURN_TYPE (*NAME##Def) FUNC_SIG = NULL; \
|
RETURN_TYPE (*NAME##Def) FUNC_SIG = NULL; \
|
||||||
EXTERNAL_FUNC(NAME, NAME##Def) RETURN_TYPE NAME FUNC_SIG
|
EXTERNAL_FUNC(NAME, NAME##Def) RETURN_TYPE NAME FUNC_SIG
|
||||||
|
#endif // _MSC_VER
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
@ -103,6 +113,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CHECK_WEAK_FN(Name) (Name != NULL)
|
#define CHECK_WEAK_FN(Name) (Name != NULL)
|
||||||
#endif
|
#endif // _WIN32
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user