diff options
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 4 |
1 files changed, 0 insertions, 4 deletions
@@ -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; |