Initial commit: Go 1.23 release state
This commit is contained in:
25
test/fixedbugs/issue4964.dir/a.go
Normal file
25
test/fixedbugs/issue4964.dir/a.go
Normal file
@@ -0,0 +1,25 @@
|
||||
// Copyright 2013 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 a
|
||||
|
||||
var global, global2 *int
|
||||
|
||||
type T struct {
|
||||
Pointer *int
|
||||
}
|
||||
|
||||
//go:noinline
|
||||
func Store(t *T) {
|
||||
global = t.Pointer
|
||||
}
|
||||
|
||||
//go:noinline
|
||||
func Store2(t *T) {
|
||||
global2 = t.Pointer
|
||||
}
|
||||
|
||||
func Get() *int {
|
||||
return global
|
||||
}
|
||||
34
test/fixedbugs/issue4964.dir/b.go
Normal file
34
test/fixedbugs/issue4964.dir/b.go
Normal file
@@ -0,0 +1,34 @@
|
||||
// Copyright 2013 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 main
|
||||
|
||||
import "./a"
|
||||
|
||||
func F() {
|
||||
// store 1 in a.global
|
||||
x, y := 1, 2
|
||||
t := a.T{Pointer: &x}
|
||||
a.Store(&t)
|
||||
_ = y
|
||||
}
|
||||
|
||||
func G() {
|
||||
// store 4 in a.global2
|
||||
x, y := 3, 4
|
||||
t := a.T{Pointer: &y}
|
||||
a.Store2(&t)
|
||||
_ = x
|
||||
}
|
||||
|
||||
func main() {
|
||||
F()
|
||||
G()
|
||||
p := a.Get()
|
||||
n := *p
|
||||
if n != 1 {
|
||||
println(n, "!= 1")
|
||||
panic("n != 1")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user