fatal("nodarg: bad struct");
if(first->width == BADWIDTH)
fatal("nodarg: offset not computed for %T", t);
- n->xoffset = first->width;
+ n->xoffset = first->width + 4;
n->addable = 1;
goto fp;
}
n->sym = t->sym;
if(t->width == BADWIDTH)
fatal("nodarg: offset not computed for %T", t);
- n->xoffset = t->width;
+ n->xoffset = t->width + 4;
n->addable = 1;
fp:
switch(fp) {
+ default:
+ fatal("nodarg %T %d", t, fp);
+
case 0: // output arg
n->op = OINDREG;
- n->val.u.reg = REGRET;
+ n->val.u.reg = REGSP;
break;
case 1: // input arg
n->class = PPARAM;
break;
-
- case 2: // offset output arg
-fatal("shouldnt be used");
- n->op = OINDREG;
- n->val.u.reg = REGSP;
- n->xoffset += types[tptr]->width;
- break;
}
return n;
}