diff options
-rw-r--r-- | pc.l | 4 | ||||
-rw-r--r-- | pc.y | 3 |
2 files changed, 7 insertions, 0 deletions
@@ -3,6 +3,7 @@ #include "scope.h" #include "y.tab.h" #include "pc.h" +#include "assert.h" int line_num=1; extern scope *cur_scope; @@ -38,6 +39,9 @@ input { node *tmp; tmp = scope_insert(cur_scope, strdup("write")); tmp->func_info = malloc(sizeof(struct fi)); + assert(tmp->func_info); + tmp->func_info->argc = -1; + tmp->func_info->argv = NULL; return IO; } @@ -219,6 +219,7 @@ sub_prog_head tmp->func_info = malloc(sizeof(struct fi)); assert(tmp->func_info); + tmp->func_info->argv = NULL; tmp->func_info->argc = i; assert(tmp->func_info->argv = malloc(i * sizeof(int))); @@ -247,7 +248,9 @@ sub_prog_head tmp->func_info = malloc(sizeof(struct fi)); assert(tmp->func_info); + tmp->func_info->argv = NULL; tmp->func_info->argc = i; + assert(tmp->func_info->argv = malloc(i * sizeof(int))); assert(!set_func_types($3, tmp->func_info->argv, i)); |