summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/eval.c b/eval.c
index e14e333..0271fb0 100644
--- a/eval.c
+++ b/eval.c
@@ -1460,7 +1460,6 @@ static Status eval_expr(Evaluator *ev, Expression *e, Value *v) {
Declaration *params = fn->params;
Expression *arg = e->call.arg_exprs;
/* @OPTIM: figure out how much memory parameters use, then allocate that much space (possibly with alloca)? */
- Value **to_free = NULL;
arr_foreach(params, Declaration, p) {
int idx = 0;
bool multiple_idents = arr_len(p->idents) > 1;
@@ -1489,7 +1488,6 @@ static Status eval_expr(Evaluator *ev, Expression *e, Value *v) {
}
}
arr_add(p->val_stack, pval);
- arr_add(to_free, pval);
}
arr_foreach(fn->ret_decls, Declaration, d) {
@@ -1552,8 +1550,6 @@ static Status eval_expr(Evaluator *ev, Expression *e, Value *v) {
}
arr_foreach(fn->params, Declaration, p)
decl_remove_val(p);
- arr_foreach(to_free, ValuePtr, p)
- free(*p);
arr_foreach(fn->ret_decls, Declaration, d)
decl_remove_val(d);
} break;