aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.go')
-rw-r--r--src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.go17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.go b/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.go
index 390b6c350a..4748e19e10 100644
--- a/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.go
+++ b/src/cmd/compile/internal/test/testdata/pgo/devirtualize/devirt.go
@@ -11,7 +11,12 @@
package devirt
-import "example.com/pgo/devirtualize/mult"
+// Devirtualization of callees from transitive dependencies should work even if
+// they aren't directly referenced in the package. See #61577.
+//
+// Dots in the last package path component are escaped in symbol names. Use one
+// to ensure the escaping doesn't break lookup.
+import "example.com/pgo/devirtualize/mult.pkg"
var sink int
@@ -61,13 +66,3 @@ func Exercise(iter int, a1, a2 Adder, m1, m2 mult.Multiplier) {
sink += m.Multiply(42, a.Add(1, 2))
}
}
-
-func init() {
- // TODO: until https://golang.org/cl/497175 or similar lands,
- // we need to create an explicit reference to callees
- // in another package for devirtualization to work.
- m := mult.Mult{}
- m.Multiply(42, 0)
- n := mult.NegMult{}
- n.Multiply(42, 0)
-}