Type* methodfunc(Type *f, Type*);
Node* typename(Type *t);
Sym* typesym(Type *t);
+Sym* typenamesym(Type *t);
Sym* tracksym(Type *t);
Sym* typesymprefix(char *prefix, Type *t);
int haspointers(Type *t);
return s;
}
-Node*
-typename(Type *t)
+Sym*
+typenamesym(Type *t)
{
Sym *s;
Node *n;
signatlist = list(signatlist, typenod(t));
}
+ return s->def->sym;
+}
+
+Node*
+typename(Type *t)
+{
+ Sym *s;
+ Node *n;
+ s = typenamesym(t);
n = nod(OADDR, s->def, N);
n->type = ptrto(s->def->type);
n->addable = 1;
{
if(n->sym != S && n->realtype != T)
if(strncmp(n->sym->name, "autotmp_", 8) != 0)
- return typename(n->realtype)->left->sym;
+ return typenamesym(n->realtype);
return S;
}