]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: fix -race nit
authorRuss Cox <rsc@golang.org>
Mon, 14 Dec 2015 18:24:27 +0000 (13:24 -0500)
committerRuss Cox <rsc@golang.org>
Wed, 16 Dec 2015 17:20:26 +0000 (17:20 +0000)
Fixes #13264.

Change-Id: I74b941164610921a03814733fea08631f18b6178
Reviewed-on: https://go-review.googlesource.com/17815
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/compile/internal/gc/racewalk.go
src/runtime/race/testdata/issue13264_test.go [new file with mode: 0644]

index 35e06b9e7eefdeea5f467ad70965e954f23221dd..ec94042562053c534d6131483ff8b28fc3ab2ce8 100644 (file)
@@ -151,7 +151,7 @@ func instrumentnode(np **Node, init **NodeList, wr int, skip int) {
                for l := n.List; l != nil; l = l.Next {
                        switch l.N.Op {
                        case OCALLFUNC, OCALLMETH, OCALLINTER:
-                               instrumentnode(&l.N, &out, 0, 0)
+                               instrumentnode(&l.N, &l.N.Ninit, 0, 0)
                                out = list(out, l.N)
                                // Scan past OAS nodes copying results off stack.
                                // Those must not be instrumented, because the
diff --git a/src/runtime/race/testdata/issue13264_test.go b/src/runtime/race/testdata/issue13264_test.go
new file mode 100644 (file)
index 0000000..d42290d
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package race_test
+
+// golang.org/issue/13264
+// The test is that this compiles at all.
+
+func issue13264() {
+       for ; ; []map[int]int{}[0][0] = 0 {
+       }
+}