Fix bug in typedef guys.
diff --git a/src/cmd/acidtypes/dat.h b/src/cmd/acidtypes/dat.h index 1ad7771..f6a3464 100644 --- a/src/cmd/acidtypes/dat.h +++ b/src/cmd/acidtypes/dat.h
@@ -74,6 +74,7 @@ int stabs2acid(struct Stab*, Biobuf*); Type *newtype(void); +Type *defer(Type*); char *nameof(Type*, int); void freetypes(void);
diff --git a/src/cmd/acidtypes/dwarf.c b/src/cmd/acidtypes/dwarf.c index 3c53e84..05d0b72 100644 --- a/src/cmd/acidtypes/dwarf.c +++ b/src/cmd/acidtypes/dwarf.c
@@ -113,7 +113,6 @@ t->sub = typebynum(s->attrs.type, 0); break; - case TagConstType: case TagVolatileType: t = xnewtype(Defer, s); @@ -175,6 +174,14 @@ t->n++; } break; + + case TagFormalParameter: + case TagVariable: +fprint(2, "var %s %lud\n", s->attrs.name, (ulong)s->attrs.type); + if(s->attrs.name==nil || s->attrs.type==0) + break; + addsymx(fn, s->attrs.name, typebynum(s->attrs.type, 0)); + break; } }
diff --git a/src/cmd/acidtypes/type.c b/src/cmd/acidtypes/type.c index 872c38b..c9e8431 100644 --- a/src/cmd/acidtypes/type.c +++ b/src/cmd/acidtypes/type.c
@@ -165,7 +165,7 @@ } } -static Type* +Type* defer(Type *t) { Type *u, *oldt;