From 081f3735abf4add6dbbd6ba4ca56da10bd54139e Mon Sep 17 00:00:00 2001 From: Tucker Evans Date: Sun, 4 Aug 2019 11:51:56 -0400 Subject: Fix adding variable to scope during assignment --- pc.y | 4 ++-- scope.c | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pc.y b/pc.y index d63d8fc..54e4ede 100644 --- a/pc.y +++ b/pc.y @@ -260,12 +260,12 @@ TD: TO | DT; var :ID { - $$ = mkid(scope_insert(cur_scope,$1)); + $$ = mkid(scope_safe_search_all(cur_scope,$1)); } |ID '[' expr ']' { node* tmp; - tmp = scope_insert(cur_scope, $1); + tmp = scope_safe_search_all(cur_scope, $1); $$ = mktree(ARRAY_ACCESS, mkid(tmp), $3); } diff --git a/scope.c b/scope.c index 6706765..eca78cd 100644 --- a/scope.c +++ b/scope.c @@ -138,9 +138,14 @@ scope *s; { int i; node * tmp; + + fprintf(stderr, "\n\nSCOPE\n" + "==========================================================\n"); + for (i = 0; i < HASH_SIZE; i++) { for( tmp=s->table[i]; tmp; tmp = tmp->next) { - fprintf(stderr, "\t%s\n", tmp->name); + fprintf(stderr, "\t%s:%s\n", tmp->name, + pretty_type(tmp->var_type)); } } } -- cgit v1.1