From 2323ca6c9ec3c8ee76b9acf13745b80b92952a6a Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 18 Mar 2019 23:47:45 +0100 Subject: Add struct, import caching, binop ops etc --- include/std/misc.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'include/std/misc.h') diff --git a/include/std/misc.h b/include/std/misc.h index b979d9c..e28ed48 100644 --- a/include/std/misc.h +++ b/include/std/misc.h @@ -1,15 +1,27 @@ #ifndef AMALGAM_MISC_H #define AMALGAM_MISC_H +#include + +#ifdef AMAL_PEDANTIC + #define return_if_debug_msg do {} while(0) + #define cleanup_if_debug_msg do {} while(0) +#else + #define return_if_debug_msg do { fprintf(stderr, "Return from %s:%d\n", __FUNCTION__, __LINE__); } while(0) + #define cleanup_if_debug_msg do { fprintf(stderr, "cleanup from %s:%d\n", __FUNCTION__, __LINE__); } while(0) +#endif + #define return_if_error(result) \ do { \ int return_if_result; \ return_if_result = (result); \ - if((return_if_result) != 0) \ + if((return_if_result) != 0) { \ + return_if_debug_msg; \ return return_if_result; \ + } \ } while(0) -#define cleanup_if_error(result) do { if((result) != 0) goto cleanup; } while(0) +#define cleanup_if_error(result) do { if((result) != 0) { cleanup_if_debug_msg; goto cleanup; } } while(0) #if defined(__GNUC__) && __GNUC__ >= 4 #define CHECK_RESULT __attribute__ ((warn_unused_result)) -- cgit v1.2.3