From: Ken Thompson Date: Sun, 2 Nov 2008 00:53:12 +0000 (-0700) Subject: >>= and <<= shift bug X-Git-Tag: weekly.2009-11-06~2825 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=d2472eb812382fd2d6224f5dfc4182d943f7aaff;p=gostls13.git >>= and <<= shift bug R=r OCL=18322 CL=18322 --- diff --git a/src/cmd/6g/gen.c b/src/cmd/6g/gen.c index f4a15f2f20..add8ba3988 100644 --- a/src/cmd/6g/gen.c +++ b/src/cmd/6g/gen.c @@ -752,12 +752,12 @@ cgen_asop(Node *n) } if(nr->ullman > nl->ullman) { - regalloc(&n2, nl->type, N); + regalloc(&n2, nr->type, N); cgen(nr, &n2); igen(nl, &n1, N); } else { igen(nl, &n1, N); - regalloc(&n2, nl->type, N); + regalloc(&n2, nr->type, N); cgen(nr, &n2); } @@ -766,7 +766,7 @@ cgen_asop(Node *n) n3.right = &n2; n3.op = n->etype; - regalloc(&n4, nr->type, N); + regalloc(&n4, nl->type, N); cgen(&n3, &n4); gmove(&n4, &n1);