This patch by Tony Reix adds some go:noescape declarations for AIX. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline.
Ian
Index: gcc/go/gofrontend/MERGE =================================================================== --- gcc/go/gofrontend/MERGE (revision 256873) +++ gcc/go/gofrontend/MERGE (working copy) @@ -1,4 +1,4 @@ -cf33aedb66b5121708f5640443c1336080a47fe5 +8195b62d353026256037fa44409c4ad95762e6b7 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. Index: libgo/go/runtime/netpoll_aix.go =================================================================== --- libgo/go/runtime/netpoll_aix.go (revision 256593) +++ libgo/go/runtime/netpoll_aix.go (working copy) @@ -34,12 +34,15 @@ const _PS_DELETE = 0x2 //extern pollset_create func pollset_create(maxfd int32) pollset_t +//go:noescape //extern pollset_ctl func pollset_ctl(ps pollset_t, pollctl_array *poll_ctl, array_length int32) int32 +//go:noescape //extern pollset_poll func pollset_poll(ps pollset_t, polldata_array *pollfd, array_length int32, timeout int32) int32 +//go:noescape //extern pipe func libc_pipe(fd *int32) int32 Index: libgo/go/runtime/stubs2.go =================================================================== --- libgo/go/runtime/stubs2.go (revision 256593) +++ libgo/go/runtime/stubs2.go (working copy) @@ -10,6 +10,7 @@ package runtime import "unsafe" +//go:noescape func read(fd int32, p unsafe.Pointer, n int32) int32 func closefd(fd int32) int32