aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKeith Randall <khr@golang.org>2025-08-01 07:38:55 -0700
committerKeith Randall <khr@golang.org>2025-08-01 08:57:29 -0700
commiteef5f8d93016147718afba8a05282d2ba7332c51 (patch)
tree758ad8a47cfbdeac24716e7408ac9a35c2c8642a /test
parente071617222e373f59db8995ce171bae708e0dcef (diff)
downloadgo-eef5f8d93016147718afba8a05282d2ba7332c51.tar.xz
cmd/compile: enforce that locals are always accessed with SP base register
After CL 678937, we could have a situation where the value of the stack pointer is in both SP and another register. We need to make sure that regalloc picks SP when issuing a reference to local variables; the assembler expects that. Fixes #74836 Change-Id: I2ac73ece6eb44b4a78c1369f8a69e51ab9748754 Reviewed-on: https://go-review.googlesource.com/c/go/+/692395 Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Mark Freeman <mark@golang.org> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'test')
-rw-r--r--test/fixedbugs/issue74836.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/fixedbugs/issue74836.go b/test/fixedbugs/issue74836.go
new file mode 100644
index 0000000000..3e61c71093
--- /dev/null
+++ b/test/fixedbugs/issue74836.go
@@ -0,0 +1,17 @@
+// compile
+
+// Copyright 2025 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 main
+
+type T struct {
+ a [20]int
+}
+
+func f(x [4]int) {
+ g(T{}, x)
+}
+
+func g(t T, x [4]int)