/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/codegen/issue54467.go
59 строк
949 B
Keith Randall
cmd/compile: use stricter rule for possible partial overlap
27 сен 2022, 23:09
27 сен 2022, 23:09
6485e8f
Код
Авторство
О чём код?
// 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. package codegen func f1(x *[4]int, y *[4]int) { // amd64:".*memmove" *x = *y } func f2(x *[4]int, y [4]int) { // amd64:-".*memmove" *x = y } func f3(x *[4]int, y *[4]int) { // amd64:-".*memmove" t := *y // amd64:-".*memmove" *x = t } func f4(x *[4]int, y [4]int) { // amd64:-".*memmove" t := y // amd64:-".*memmove" *x = t } type T struct { a [4]int } func f5(x, y *T) { // amd64:-".*memmove" x.a = y.a } func f6(x *T, y T) { // amd64:-".*memmove" x.a = y.a } func f7(x *T, y *[4]int) { // amd64:-".*memmove" x.a = *y } func f8(x *[4]int, y *T) { // amd64:-".*memmove" *x = y.a } func f9(x [][4]int, y [][4]int, i, j int) { // amd64:-".*memmove" x[i] = y[j] } func f10() []byte { // amd64:-".*memmove" return []byte("aReasonablyBigTestString") }