From 21d5951ef081eacd7ca3792a8397d6db269bb4a3 Mon Sep 17 00:00:00 2001 From: Maschell Date: Fri, 13 May 2022 12:27:38 +0200 Subject: [PATCH] Override abort() with OSFatal and bump WUPS version to 0.7.1 --- include/wups/meta.h | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/include/wups/meta.h b/include/wups/meta.h index 7b65ec0..a102fc8 100644 --- a/include/wups/meta.h +++ b/include/wups/meta.h @@ -28,19 +28,32 @@ #include "common.h" #include "hooks.h" +#ifdef __cplusplus +#define __EXTERN_C_MACRO extern "C" +#else +#define __EXTERN_C_MACRO +#endif + #ifdef __cplusplus extern "C" { #endif -#define WUPS_PLUGIN_NAME(x) \ - WUPS_META(name, x); \ - WUPS_META(wups, "0.7.0"); \ - WUPS_USE_WUT_MALLOC(); \ - WUPS_USE_WUT_SOCKETS(); \ - WUPS_USE_WUT_NEWLIB(); \ - WUPS_USE_WUT_STDCPP(); \ - WUPS___INIT_WRAPPER(); \ - WUPS___FINI_WRAPPER(); \ +#define WUPS_PLUGIN_NAME(x) \ + WUPS_META(name, x); \ + WUPS_META(wups, "0.7.1"); \ + WUPS_USE_WUT_MALLOC(); \ + WUPS_USE_WUT_SOCKETS(); \ + WUPS_USE_WUT_NEWLIB(); \ + WUPS_USE_WUT_STDCPP(); \ + WUPS___INIT_WRAPPER(); \ + WUPS___FINI_WRAPPER(); \ + __EXTERN_C_MACRO void abort(); \ + __EXTERN_C_MACRO void OSFatal(const char *msg); \ + void abort() { \ + OSFatal(x ": abort() called. Uncaught exception?"); \ + while (1) \ + ; \ + } \ WUPS_META(buildtimestamp, __DATE__ " " __TIME__); #define WUPS_PLUGIN_AUTHOR(x) WUPS_META(author, x)