diff options
Diffstat (limited to 'src/cmd/gc/select.c')
| -rw-r--r-- | src/cmd/gc/select.c | 4 | 
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;  			}  		} | 
