diff options
Diffstat (limited to 'src/ast.c')
| -rw-r--r-- | src/ast.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -58,6 +58,11 @@ void free_statement(struct Statement* statement) free_expr(statement->call.args[i]); free(statement->call.args); break; + case STATEMENT_INSTRUCTION: + for (size_t i = 0; i < statement->instruction.operand_count; i += 1) + free_expr(statement->instruction.operands[i]); + free(statement->instruction.operands); + break; case STATEMENT_STACK: free_expr(statement->stack.size); break; @@ -81,6 +86,9 @@ struct Program create_program(void) program.config.bits = 64; program.config.has_entry = false; program.config.logical_registers = false; + program.config.format = OUTPUT_ELF; + program.config.has_org = false; + program.config.boot = false; program.consts = NULL; program.const_count = 0; program.const_capacity = 0; |
