diff options
author | R?my Oudompheng <oudomphe@phare.normalesup.org> | 2013-05-20 23:45:22 +0200 |
---|---|---|
committer | R?my Oudompheng <oudomphe@phare.normalesup.org> | 2013-05-20 23:45:22 +0200 |
commit | dc1552097a0077d18694b44630dcd2d849e5fc98 (patch) | |
tree | 5e7336e3814458881ef57eff0c1ab696ad6b9093 /src/cmd/gc | |
parent | a21450ed2d3662ef4737247852fad5c911bcd0fd (diff) | |
download | go-dc1552097a0077d18694b44630dcd2d849e5fc98.tar.gz |
cmd/gc: clear n->list of OFOR range loop after walk.
It contains the LHS of the range clause and gets
instrumented by racewalk, but it doesn't have any meaning.
Fixes issue 5446.
R=golang-dev, dvyukov, daniel.morsing, r
CC=golang-dev
https://codereview.appspot.com/9560044
Diffstat (limited to 'src/cmd/gc')
-rw-r--r-- | src/cmd/gc/range.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmd/gc/range.c b/src/cmd/gc/range.c index 8af45b9d2..bd271da38 100644 --- a/src/cmd/gc/range.c +++ b/src/cmd/gc/range.c @@ -129,6 +129,9 @@ walkrange(Node *n) v2 = N; if(n->list->next) v2 = n->list->next->n; + // n->list has no meaning anymore, clear it + // to avoid erroneous processing by racewalk. + n->list = nil; hv2 = N; if(v2 == N && t->etype == TARRAY) { |