From 8e38de7f5c4a42ec7506b9af58523facc66dbc0d Mon Sep 17 00:00:00 2001 From: dzaima Date: Sun, 23 May 2021 22:28:59 +0300 Subject: [PATCH] make heapverify --- README.md | 4 ++-- makefile | 6 +++++- obj/heapverify/makefile | 1 + obj/subMakefile | 2 ++ src/h.h | 6 +++--- 5 files changed, 13 insertions(+), 6 deletions(-) create mode 120000 obj/heapverify/makefile diff --git a/README.md b/README.md index b5980db1..1808889b 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,8 @@ build/run: 1. `./genRuntime path/to/mlochbaum/BQN` 2. Optionally choose what to build by changing `src/h.h` 3. `make` - - Options are: `make o3`, `make debug`, `make rtperf` - - Do `make clean` or `make [o3|debug|rtperf]-clean` before to force recompile + - Options: `make o3`, `make debug` (`make rtperf` and `make heapverify` may also be useful) + - Do `make clean` or `make [o3|debug]-clean` before to force recompile - `./build` and `./debugBuild` compile everything at once and allow specifying extra compiler arguments, but may be slower 4. `./BQN` (or `rlwrap ./BQN` for a fancier interface) diff --git a/makefile b/makefile index afee04a1..6a18866e 100644 --- a/makefile +++ b/makefile @@ -7,6 +7,8 @@ debug: @$(MAKE) -C obj/debug debug rtperf: @$(MAKE) $(J) -C obj/rtperf rtperf +heapverify: + @$(MAKE) $(J) -C obj/heapverify heapverify o3-clean: @$(MAKE) -C obj/o3 clean @@ -14,5 +16,7 @@ debug-clean: @$(MAKE) -C obj/debug clean rtperf-clean: @$(MAKE) -C obj/rtperf clean +heapverify-clean: + @$(MAKE) -C obj/heapverify clean -clean: o3-clean debug-clean rtperf-clean +clean: o3-clean debug-clean rtperf-clean heapverify-clean diff --git a/obj/heapverify/makefile b/obj/heapverify/makefile new file mode 120000 index 00000000..9b4ecaa6 --- /dev/null +++ b/obj/heapverify/makefile @@ -0,0 +1 @@ +/home/dzaima/CLionProjects/bqn/obj/subMakefile \ No newline at end of file diff --git a/obj/subMakefile b/obj/subMakefile index 55d68699..ab4d79e0 100644 --- a/obj/subMakefile +++ b/obj/subMakefile @@ -11,6 +11,8 @@ debug: FLAGS=-g -DDEBUG debug: gen rtperf: FLAGS=-O3 -DRT_PERF rtperf: gen +heapverify: FLAGS=-DDEBUG -g -DHEAP_VERIFY +heapverify: gen gen: builtins core base utils @$(CC) -o BQN *.o -lm diff --git a/src/h.h b/src/h.h index 0c894238..594165c9 100644 --- a/src/h.h +++ b/src/h.h @@ -37,6 +37,9 @@ #include #include #include +#ifdef HEAP_VERIFY + #undef CATCH_ERRORS +#endif #define rtLen 63 #ifdef CATCH_ERRORS @@ -46,9 +49,6 @@ #define EACH_FILLS false #define PROPER_FILLS false #endif -#if defined(CATCH_ERRORS) && defined(HEAP_VERIFY) - #error CATCH_ERRORS and HEAP_VERIFY cannot both be enabled -#endif #define i8 int8_t #define u8 uint8_t