diff options
Diffstat (limited to 'ast.c')
| -rw-r--r-- | ast.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -107,6 +107,11 @@ static void paren_destroy(struct paren_node* node) { free(node->expr_list); } +static void cast_destroy(struct cast_node* node) { + expr_destroy(node->expr); + free(node->expr); +} + static void expr_destroy(struct expr_node* node) { switch (node->type) { case EXPR_INT_LIT: @@ -133,6 +138,9 @@ static void expr_destroy(struct expr_node* node) { case EXPR_PAREN: paren_destroy(&node->inner.paren); break; + case EXPR_CAST: + cast_destroy(&node->inner.cast); + break; } } |
