go/test/codegen/issue52635.go
Cuong Manh Le 0668e3cb1a cmd/compile: support pointers to arrays in arrayClear
Fixes #52635

Change-Id: I85f182931e30292983ef86c55a0ab6e01282395c
Reviewed-on: https://go-review.googlesource.com/c/go/+/403337
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
2022-05-03 05:42:48 +00:00

36 lines
655 B
Go

// asmcheck
// Copyright 2022 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.
// Test that optimized range memclr works with pointers to arrays.
package codegen
type T struct {
a *[10]int
b [10]int
}
func (t *T) f() {
// amd64:".*runtime.memclrNoHeapPointers"
for i := range t.a {
t.a[i] = 0
}
// amd64:".*runtime.memclrNoHeapPointers"
for i := range *t.a {
t.a[i] = 0
}
// amd64:".*runtime.memclrNoHeapPointers"
for i := range t.a {
(*t.a)[i] = 0
}
// amd64:".*runtime.memclrNoHeapPointers"
for i := range *t.a {
(*t.a)[i] = 0
}
}