]> git.mdlowis.com Git - proto/sclpl.git/commitdiff
Added reference count handling to new AST functions
authorMike Lowis <mike.lowis@gentex.com>
Mon, 14 Dec 2015 12:04:06 +0000 (12:04 +0000)
committerMike Lowis <mike.lowis@gentex.com>
Mon, 14 Dec 2015 12:04:06 +0000 (12:04 +0000)
Makefile
source/ast.c

index 281ffbad3a6a509ab77127d0803d04f1f975626d..a6495c61a66c9443c9b3119055016d5a26e43371 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ LD = ${CC}
 # flags
 INCS      = -Isource/
 CPPFLAGS  = -D_XOPEN_SOURCE=700
-CFLAGS   += ${INCS} ${CPPFLAGS}
+CFLAGS   += ${INCS} ${CPPFLAGS} -Wall -Wextra
 LDFLAGS  += ${LIBS}
 
 #------------------------------------------------------------------------------
index c7f696431466e3d327e5f348b7c22c30bfc4a0fd..6eb8f66e6ec9ba91802798241186cb49de5b4af8 100644 (file)
@@ -225,7 +225,7 @@ AST* Block(void)
 
 void block_append(AST* block, AST* expr)
 {
-    vec_push_back(&(block->value.exprs), expr);
+    vec_push_back(&(block->value.exprs), gc_addref(expr));
 }
 
 size_t block_size(AST* block)
@@ -258,12 +258,12 @@ AST* func_body(AST* func)
 
 void func_add_arg(AST* func, AST* arg)
 {
-    vec_push_back(func_args(func), arg);
+    vec_push_back(func_args(func), gc_addref(arg));
 }
 
 void func_set_body(AST* func, AST* body)
 {
-    func->value.func.body = body;
+    func->value.func.body = (AST*)gc_addref(body);
 }