From: Ian Lance Taylor Date: Wed, 27 Mar 2024 18:44:42 +0000 (-0700) Subject: gcc/testsuite/go.test: update issue16016 X-Git-Tag: basepoints/gcc-15~444 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9ff034fcff8ccab6eb82bf2cd36e2d24b2df9b78;p=thirdparty%2Fgcc.git gcc/testsuite/go.test: update issue16016 This backports https://go.dev/cl/574536 into the GCC testsuite. Fixes PR go/114453 --- diff --git a/gcc/testsuite/go.test/test/fixedbugs/issue16016.go b/gcc/testsuite/go.test/test/fixedbugs/issue16016.go index e738e1dba0e9..b1947f5548de 100644 --- a/gcc/testsuite/go.test/test/fixedbugs/issue16016.go +++ b/gcc/testsuite/go.test/test/fixedbugs/issue16016.go @@ -6,7 +6,10 @@ package main -import "time" +import ( + "runtime" + "time" +) type T struct{} @@ -24,8 +27,19 @@ type Q interface { } func main() { + var count = 10000 + if runtime.Compiler == "gccgo" { + // On targets without split-stack libgo allocates + // a large stack for each goroutine. On 32-bit + // systems this test can run out of memory. + const intSize = 32 << (^uint(0) >> 63) // 32 or 64 + if intSize < 64 { + count = 100 + } + } + var q Q = &R{&T{}} - for i := 0; i < 10000; i++ { + for i := 0; i < count; i++ { go func() { defer q.Foo([]interface{}{"meow"}) time.Sleep(100 * time.Millisecond)