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)); | 
