diff options
Diffstat (limited to 'symbol.c')
-rw-r--r-- | symbol.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -38,6 +38,21 @@ newsymtab(void) return tab; } +void +freesymtab(Symtab *tab) +{ + print("Freeing symtab\n"); + int i; + for(i = 0; i < tab->nsyms; i++){ + Symbol *s = tab->syms[i]; + if(s->undefined == 0 && s->value.tag == ArrayTag) + freearray(s->value.array); + } + free(tab->syms); + free(tab); + print("Done freeing symtab\n"); +} + vlong globalIO(void) { |