summaryrefslogtreecommitdiff
path: root/parse/stab.c
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2018-01-02 22:14:43 -0800
committerOri Bernstein <ori@eigenstate.org>2018-01-11 22:16:11 -0800
commit9424339d8d453f5c559edd5d23549d662d1c9d8d (patch)
treefc725c32315c782b60eae6d48a1bb9171d3040b4 /parse/stab.c
parente6967548eec255e4518b1cdff5955d4b333f103b (diff)
downloadmc-9424339d8d453f5c559edd5d23549d662d1c9d8d.tar.gz
Fix how we bind types.
Now we accept most valid programs, and reject most invalid ones.
Diffstat (limited to 'parse/stab.c')
-rw-r--r--parse/stab.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/parse/stab.c b/parse/stab.c
index 1d89238..2d190d9 100644
--- a/parse/stab.c
+++ b/parse/stab.c
@@ -671,6 +671,9 @@ bindtype_rec(Tyenv *e, Type *t, Bitset *visited)
tytab[t->tid] = tt;
else if (!boundtype(t))
htput(e->tab, t, t);
+ for (i = 0; i < t->nspec; i++)
+ if (t->spec[i]->aux)
+ bindtype_rec(e, t->spec[i]->aux, visited);
break;
case Tygeneric:
for (i = 0; i < t->ngparam; i++)