1
0
mirror of https://github.com/golang/go synced 2024-11-17 19:34:50 -07:00
go/test/fixedbugs/issue54638.go

41 lines
601 B
Go
Raw Normal View History

2022-08-23 16:19:06 -06:00
// compile
// 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.
// Issue 54638: composite literal assignment with
// alignment > PtrSize causes ICE.
package p
import "sync/atomic"
type S struct{ l any }
type T struct {
H any
a [14]int64
f func()
x atomic.Int64
}
//go:noinline
func (T) M(any) {}
type W [2]int64
//go:noinline
func (W) Done() {}
func F(l any) [3]*int {
var w W
var x [3]*int // use some stack
t := T{H: S{l: l}}
go func() {
t.M(l)
w.Done()
}()
return x
}