mirror of
https://github.com/golang/go
synced 2024-11-26 08:07:57 -07:00
fixed typo where output arguments where pushed on to R0
instead of SP. R=rsc APPROVED=rsc DELTA=13 (3 added, 7 deleted, 3 changed) OCL=31488 CL=31501
This commit is contained in:
parent
7842b03f70
commit
092d6290d0
@ -351,7 +351,7 @@ nodarg(Type *t, int fp)
|
||||
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;
|
||||
}
|
||||
@ -364,26 +364,22 @@ nodarg(Type *t, int 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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user