}
static inline void free_let_stmt(let_stmt *stmt) {
- free_decl_var(stmt->var);
if (stmt->val) {
+ if (stmt->val->kind == PSI_LET_TMP && stmt->var->arg) {
+ free_decl_arg(stmt->var->arg);
+ }
free_let_val(stmt->val);
}
+ free_decl_var(stmt->var);
free(stmt);
}
}
free(val->inner);
}
+ if (val->num) {
+ free_num_exp(val->num);
+ }
free(val);
}
static inline void free_free_call(free_call *f) {
free(f->func);
+ free_decl_vars(f->vars);
free(f);
}