ref: 96da004ab004c908e6e137e3e5407a328b0b42b8
parent: 1ac199a3e2c150873279adf3a36f9a8f94e8fd60
author: Ori Bernstein <[email protected]>
date: Fri Oct 11 07:21:04 EDT 2013
Don't double install ucons.
--- a/parse/type.c
+++ b/parse/type.c
@@ -562,6 +562,8 @@
return 0;
break;
case Tyname:
+ if (!nameeq(a->name, b->name))
+ return 0;
for (i = 0; i < a->narg; i++)
if (!tyeq(a->arg[i], b->arg[i]))
return 0;
--- a/parse/use.c
+++ b/parse/use.c
@@ -669,7 +669,7 @@
htput(dedup, t->name, t);
} else if (t->type == Tyunion) {
for (i = 0; i < t->nmemb; i++)
- if (!t->udecls[i]->synth)
+ if (!getucon(s, t->udecls[i]->name) && !t->udecls[i]->synth)
putucon(s, t->udecls[i]);
}
break;