From 47ab3d4a42e9ab51c465c4322d2ec233f6324e6b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 15:16:40 +0200 Subject: Adding upstream version 1.18.10. Signed-off-by: Daniel Baumann --- test/fixedbugs/issue30476.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 test/fixedbugs/issue30476.go (limited to 'test/fixedbugs/issue30476.go') diff --git a/test/fixedbugs/issue30476.go b/test/fixedbugs/issue30476.go new file mode 100644 index 0000000..a2147ec --- /dev/null +++ b/test/fixedbugs/issue30476.go @@ -0,0 +1,30 @@ +// run + +// Copyright 2019 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 30476: KeepAlive didn't keep stack object alive. + +package main + +import "runtime" + +func main() { + x := new([10]int) + runtime.SetFinalizer(x, func(*[10]int) { panic("FAIL: finalizer runs") }) + p := &T{x, 0} + use(p) + runtime.GC() + runtime.GC() + runtime.GC() + runtime.KeepAlive(p) +} + +type T struct { + x *[10]int + y int +} + +//go:noinline +func use(*T) {} -- cgit v1.2.3