Initial commit: Go 1.23 release state
This commit is contained in:
40
test/fixedbugs/issue54638.go
Normal file
40
test/fixedbugs/issue54638.go
Normal file
@@ -0,0 +1,40 @@
|
||||
// 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
|
||||
}
|
||||
Reference in New Issue
Block a user