aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-08-18 01:19:36 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2024-08-18 01:19:36 +0300
commitf8c192f59a55db99fe088588b161a207b237b288 (patch)
tree2b4d5a3679e02069ae9d8edb0d09edd9cd278f0d
parentaa0665af307420e493b09af9a97fbd36fd53ef4b (diff)
downloadtri-master.tar.gz
tri-master.zip
enable analyzer for triscv and fix issuesHEADmaster
-rw-r--r--triscv/Makefile4
-rw-r--r--triscv/scripts/makefile11
-rw-r--r--triscv/src/mem.c3
3 files changed, 15 insertions, 3 deletions
diff --git a/triscv/Makefile b/triscv/Makefile
index 103a1a2..1588384 100644
--- a/triscv/Makefile
+++ b/triscv/Makefile
@@ -20,6 +20,10 @@ setup:
@echo -n > deps.mk
@./scripts/gen-deps -p TRISCV -c COMPILE_TRISCV -b triscv "${TRISCV_SOURCES}"
+.PHONY: analyze
+analyze: setup
+ CC='gcc -fanalyzer' SKIP_ANALYZER='-fno-analyzer' $(MAKE) -f scripts/makefile
+
CLEANUP := build deps.mk triscv
CLEANUP_CMD :=
TRISCV_SOURCES := ../utf9/utf9.c ../core/bits.c
diff --git a/triscv/scripts/makefile b/triscv/scripts/makefile
index ff8b185..9e12a18 100644
--- a/triscv/scripts/makefile
+++ b/triscv/scripts/makefile
@@ -30,9 +30,14 @@ OBJCOPY != [ "$(LLVM)" != "0" ] \
&& echo llvm-objcopy \
|| echo $(CROSS_COMPILE)objcopy
-COMPILER != [ "$(LLVM)" != "0" ] \
- && echo clang --target="$(CROSS_COMPILE)" \
- || echo $(CROSS_COMPILE)gcc
+COMPILER != [ -n "$(CROSS_COMPILE)" ] \
+ && { \
+ [ "$(LLVM)" != "0" ] \
+ && echo clang --target="$(CROSS_COMPILE)" \
+ || echo $(CROSS_COMPILE)gcc \
+ ; \
+ } \
+ || echo $(CC)
OBFLAGS = -std=c17 -g
diff --git a/triscv/src/mem.c b/triscv/src/mem.c
index 9ce2a68..4aa936b 100644
--- a/triscv/src/mem.c
+++ b/triscv/src/mem.c
@@ -13,6 +13,9 @@ struct mem *mem_create(size_t size)
struct mem *mem = calloc(1,
sizeof(struct mem) + size *
sizeof(mem->buf[0]));
+ if (!mem)
+ return NULL;
+
mem->size = size;
return mem;
}