blob: d0258b0c6881ce884d848dd5c9f0b29236b2f473 [file] [log] [blame]
// 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
}