aboutsummaryrefslogtreecommitdiff
path: root/libtcc.c
diff options
context:
space:
mode:
authorjiang <30155751@qq.com>2014-05-13 22:05:38 +0800
committerjiang <30155751@qq.com>2014-05-13 22:05:38 +0800
commitc6345b5a8af36d5577307860644010b1528257d3 (patch)
treeba8dde98b273254a30c852e64ef63a4fa274d3ab /libtcc.c
parent72f466c24c5347516ca5a81221e29129dafe1c63 (diff)
downloadtinycc-c6345b5a8af36d5577307860644010b1528257d3.tar.gz
tinycc-c6345b5a8af36d5577307860644010b1528257d3.tar.bz2
restore 2dd8587c2f32d17a2cd0443a60a614a3fa9bbe29
Diffstat (limited to 'libtcc.c')
-rw-r--r--libtcc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libtcc.c b/libtcc.c
index 7caa7c1..4bb7f1b 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -868,6 +868,7 @@ LIBTCCAPI void tcc_undefine_symbol(TCCState *s1, const char *sym)
static void tcc_cleanup(void)
{
int i, n;
+ CSym *def;
if (NULL == tcc_state)
return;
tcc_state = NULL;
@@ -877,8 +878,11 @@ static void tcc_cleanup(void)
/* free tokens */
n = tok_ident - TOK_IDENT;
- for(i = 0; i < n; i++)
+ for(i = 0; i < n; i++){
+ def = &table_ident[i]->sym_define;
+ tcc_free(def->data);
tcc_free(table_ident[i]);
+ }
tcc_free(table_ident);
/* free sym_pools */