aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2013-08-15 21:05:05 -0400
committerRuss Cox <rsc@golang.org>2013-08-15 21:05:05 -0400
commitb75a08d03c3d0fc659191dbc7eed174d5cb6f6c3 (patch)
treedda6e947f501e03f4f5d8ead09dd969fd4fadb13 /src
parent67a69bce6b0492359f9279b035076fbab12945e0 (diff)
downloadgo-b75a08d03c3d0fc659191dbc7eed174d5cb6f6c3.tar.xz
cmd/gc: ensure addable in checknil (fix race build)
TBR=dvyukov CC=golang-dev https://golang.org/cl/12791044
Diffstat (limited to 'src')
-rw-r--r--src/cmd/gc/pgen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cmd/gc/pgen.c b/src/cmd/gc/pgen.c
index 583e77e4cc..edeaa06a69 100644
--- a/src/cmd/gc/pgen.c
+++ b/src/cmd/gc/pgen.c
@@ -515,8 +515,8 @@ cgen_checknil(Node *n)
return;
while(n->op == ODOT || (n->op == OINDEX && isfixedarray(n->left->type->type))) // NOTE: not ODOTPTR
n = n->left;
- if(thechar == '5' && n->op != OREGISTER) {
- regalloc(&reg, types[tptr], N);
+ if((thechar == '5' && n->op != OREGISTER) || !n->addable) {
+ regalloc(&reg, types[tptr], n);
cgen(n, &reg);
gins(ACHECKNIL, &reg, N);
regfree(&reg);