move heapverify CATCH_ERRORS change to build.bqn

This commit is contained in:
dzaima 2024-04-04 02:10:19 +03:00
parent 74f3b5a012
commit fd317ddce3
2 changed files with 2 additions and 6 deletions

View File

@ -330,7 +330,7 @@ po ← { # parsed options
args ( o3) / "-O3"
args ( debug) / "-DDEBUG"
args ( rtverify) / "-DRT_VERIFY"
args ( heapverify) / "-DHEAP_VERIFY"
args ( heapverify) / "-DHEAP_VERIFY", "-DCATCH_ERRORS=0"
args ( exportSymbols) / "-DCBQN_EXPORT"
args ( ¬pie) / "-fno-pie"
args (pie ¬sharedLib) / "-fPIE"

View File

@ -46,10 +46,6 @@
#if CATCH_ERRORS
#include <setjmp.h>
#endif
#if HEAP_VERIFY
#undef CATCH_ERRORS
#define CATCH_ERRORS 0
#endif
#define RT_LEN 64
@ -398,7 +394,7 @@ NOINLINE NORETURN void thrM(char* s);
NOINLINE NORETURN void thrF(char* s, ...);
NOINLINE NORETURN void thrOOM(void);
#if CATCH_ERRORS
jmp_buf* prepareCatch(void);
jmp_buf* prepareCatch(void);
#define CATCH setjmp(*prepareCatch()) // use as `if (CATCH) { /*handle error*/ freeThrown(); return; } /*potentially erroring thing*/ popCatch(); /*no errors yay*/`
void popCatch(void); // note: popCatch() must always be called if no error is thrown, so no returns before it!
#else