/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue62515.go
27 строк
592 B
Matthew Dempsky
cmd/compile/internal/noder: handle unsafe.Sizeof, etc in unified IR
11 сен 2023, 23:48
11 сен 2023, 23:48
2e457b3
Код
Авторство
О чём код?
// compile // Copyright 2023 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. // Unified frontend generated unnecessary temporaries for expressions // within unsafe.Sizeof, etc functions. package main import "unsafe" func F[G int](g G) (uintptr, uintptr, uintptr) { var c chan func() int type s struct { g G x []int } return unsafe.Sizeof(s{g, make([]int, (<-c)())}), unsafe.Alignof(s{g, make([]int, (<-c)())}), unsafe.Offsetof(s{g, make([]int, (<-c)())}.x) } func main() { F(0) }