mirror of
https://github.com/golang/go
synced 2024-11-11 19:31:37 -07:00
cmd/compile: fix wrong type in SSA generation for OSLICE2ARRPTR
Fixes #46907 Change-Id: I6a2728d2f2159df583b32f40f6100d3e90c34dd7 Reviewed-on: https://go-review.googlesource.com/c/go/+/330672 Trust: Cuong Manh Le <cuong.manhle.vn@gmail.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Go Bot <gobot@golang.org>
This commit is contained in:
parent
600a2a4ffb
commit
cce621431a
@ -3174,7 +3174,7 @@ func (s *state) expr(n ir.Node) *ssa.Value {
|
||||
arrlen := s.constInt(types.Types[types.TINT], n.Type().Elem().NumElem())
|
||||
cap := s.newValue1(ssa.OpSliceLen, types.Types[types.TINT], v)
|
||||
s.boundsCheck(arrlen, cap, ssa.BoundsConvert, false)
|
||||
return s.newValue1(ssa.OpSlicePtrUnchecked, types.Types[types.TINT], v)
|
||||
return s.newValue1(ssa.OpSlicePtrUnchecked, n.Type(), v)
|
||||
|
||||
case ir.OCALLFUNC:
|
||||
n := n.(*ir.CallExpr)
|
||||
|
11
test/fixedbugs/issue46907.go
Normal file
11
test/fixedbugs/issue46907.go
Normal file
@ -0,0 +1,11 @@
|
||||
// compile
|
||||
|
||||
// Copyright 2021 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 p
|
||||
|
||||
func f(b []byte) []byte {
|
||||
return (*[32]byte)(b[:32])[:]
|
||||
}
|
Loading…
Reference in New Issue
Block a user