211,7 → 211,7 |
|
/* tabulate usage of special variables, or any invocations of src()/rad()/cnv(), in the tree */ |
|
void checkvars(struct node*p,int f[],int *cnv,int *srcrad /* ,int *mapused */ ){ |
void checkvars(struct node*p,int f[],int *cnv,int *srcrad /* ,int *mapused */, int *state_changing_funcs_used ){ |
int i; |
|
if(p){ |
223,7 → 223,11 |
*cnv = 1; |
// else if(p->kind==TOK_FN2 && (p->v.sym->fn == (pfunc_type)ff_map)) |
// *mapused = 1; |
else if ((p->kind==TOK_FN2 && p->v.sym->fn == (pfunc_type)ff_put) || |
(p->kind==TOK_FN1 && p->v.sym->fn == (pfunc_type)ff_rnd) || |
(p->kind==TOK_FN1 && p->v.sym->fn == (pfunc_type)ff_rst)) |
*state_changing_funcs_used = 1; |
for( i = 0 ; i < MAXCHILDREN ; ++i ) |
checkvars(p->child[i],f,cnv,srcrad); |
checkvars(p->child[i],f,cnv,srcrad/*,mapused*/,state_changing_funcs_used); |
} |
} |