summaryrefslogtreecommitdiff
path: root/src/cmd/gc/select.c
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-02-18 09:50:58 +0100
committerOndřej Surý <ondrej@sury.org>2011-02-18 09:50:58 +0100
commitc072558b90f1bbedc2022b0f30c8b1ac4712538e (patch)
tree67767591619e4bd8111fb05fac185cde94fb7378 /src/cmd/gc/select.c
parent5859517b767c99749a45651c15d4bae5520ebae8 (diff)
downloadgolang-c072558b90f1bbedc2022b0f30c8b1ac4712538e.tar.gz
Imported Upstream version 2011.02.15upstream/2011.02.15
Diffstat (limited to 'src/cmd/gc/select.c')
-rw-r--r--src/cmd/gc/select.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/gc/select.c b/src/cmd/gc/select.c
index 5686e9599..58a147745 100644
--- a/src/cmd/gc/select.c
+++ b/src/cmd/gc/select.c
@@ -157,7 +157,7 @@ walkselect(Node *sel)
if(n->left == N || isblank(n->left))
n->left = nodnil();
else if(n->left->op == ONAME &&
- (!n->colas || (n->class&PHEAP) == 0) &&
+ (!n->colas || (n->left->class&PHEAP) == 0) &&
convertop(ch->type->type, n->left->type, nil) == OCONVNOP) {
n->left = nod(OADDR, n->left, N);
n->left->etype = 1; // pointer does not escape
@@ -170,9 +170,9 @@ walkselect(Node *sel)
typecheck(&a, Erv);
r = nod(OAS, n->left, tmp);
typecheck(&r, Etop);
+ cas->nbody = concat(list1(r), cas->nbody);
cas->nbody = concat(n->ninit, cas->nbody);
n->ninit = nil;
- cas->nbody = concat(list1(r), cas->nbody);
n->left = a;
}
}