diff options
author | Tucker Evans <tuckerevans24@gmail.com> | 2019-08-29 11:53:06 -0400 |
---|---|---|
committer | Tucker Evans <tuckerevans24@gmail.com> | 2019-08-29 11:53:06 -0400 |
commit | 227b13eccaecc05d76ca8dceb922a9d280ead0c4 (patch) | |
tree | 6f293ebb87d4aa36779c0f650826759ff567fcc1 /tree.c | |
parent | ec98dd863237aa4a1853e0efb589f2da597c5640 (diff) |
Fix return value for correctly typed statements
Change okay return value to 1 so 0 can be used to denote an unset
return type
Diffstat (limited to 'tree.c')
-rw-r--r-- | tree.c | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -21,6 +21,7 @@ ptree *l, *r; t->type = type; t->l = l; t->r = r; + t->ret_type = 0; return t; } @@ -90,10 +91,12 @@ ptree *t; { if (!t) return; - - set_ret_type(t->l); - set_ret_type(t->r); + if (! (t->l && t->l->ret_type == 1)) + set_ret_type(t->l); + if (! (t->r && t->r->ret_type == 1)) + set_ret_type(t->r); + t->ret_type = check_ret_type(t); return; |