summaryrefslogtreecommitdiffstats
path: root/test/fixedbugs/issue15091.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/fixedbugs/issue15091.go')
-rw-r--r--test/fixedbugs/issue15091.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/fixedbugs/issue15091.go b/test/fixedbugs/issue15091.go
new file mode 100644
index 0000000..115ad68
--- /dev/null
+++ b/test/fixedbugs/issue15091.go
@@ -0,0 +1,27 @@
+// errorcheck -0 -race
+
+//go:build (linux && amd64) || (linux && ppc64le) || (darwin && amd64) || (freebsd && amd64) || (netbsd && amd64) || (windows && amd64)
+
+// Copyright 2016 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 sample
+
+type Html struct {
+ headerIDs map[string]int
+}
+
+// We don't want to see:
+// internal error: (*Html).xyzzy autotmp_3 (type *int) recorded as live on entry, p.Pc=0
+// or (now, with the error caught earlier)
+// Treating auto as if it were arg, func (*Html).xyzzy, node ...
+// caused by racewalker inserting instrumentation before an OAS where the Ninit
+// of the OAS defines part of its right-hand-side. (I.e., the race instrumentation
+// references a variable before it is defined.)
+func (options *Html) xyzzy(id string) string {
+ for count, found := options.headerIDs[id]; found; count, found = options.headerIDs[id] {
+ _ = count
+ }
+ return ""
+}