aboutsummaryrefslogtreecommitdiff
path: root/libgo/go
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-05-09 20:12:09 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-05-09 20:12:09 +0000
commit133d3bd8362f0c438017ca18adb51afb7288f78b (patch)
treeea10f6811c6c34a39dc86a7d21b2652dbd18fc65 /libgo/go
parentb8754cd88a24097bdc0c018ea480e6f726f6baa7 (diff)
parent41a4d47581db409213d887c41dd914165b802419 (diff)
downloadgcc-133d3bd8362f0c438017ca18adb51afb7288f78b.zip
gcc-133d3bd8362f0c438017ca18adb51afb7288f78b.tar.gz
gcc-133d3bd8362f0c438017ca18adb51afb7288f78b.tar.bz2
Merge from trunk revision 271040.
From-SVN: r271043
Diffstat (limited to 'libgo/go')
-rw-r--r--libgo/go/os/user/user_test.go3
-rw-r--r--libgo/go/reflect/value.go2
-rw-r--r--libgo/go/runtime/mbarrier.go1
-rw-r--r--libgo/go/runtime/stubs.go1
4 files changed, 6 insertions, 1 deletions
diff --git a/libgo/go/os/user/user_test.go b/libgo/go/os/user/user_test.go
index 2563077..eeb24dd 100644
--- a/libgo/go/os/user/user_test.go
+++ b/libgo/go/os/user/user_test.go
@@ -129,6 +129,9 @@ func TestLookupGroup(t *testing.T) {
func TestGroupIds(t *testing.T) {
checkGroup(t)
+ if runtime.GOOS == "aix" {
+ t.Skip("skipping GroupIds, see golang.org/issue/30563")
+ }
if runtime.GOOS == "solaris" {
t.Skip("skipping GroupIds, see golang.org/issue/14709")
}
diff --git a/libgo/go/reflect/value.go b/libgo/go/reflect/value.go
index d3a6243..298fbac 100644
--- a/libgo/go/reflect/value.go
+++ b/libgo/go/reflect/value.go
@@ -401,7 +401,7 @@ func (v Value) call(op string, in []Value) []Value {
if v.flag&flagMethod != 0 {
nin++
}
- firstPointer := len(in) > 0 && t.In(0).Kind() != Ptr && v.flag&flagMethodFn != 0
+ firstPointer := len(in) > 0 && ifaceIndir(t.In(0).common()) && v.flag&flagMethodFn != 0
params := make([]unsafe.Pointer, nin)
off := 0
if v.flag&flagMethod != 0 {
diff --git a/libgo/go/runtime/mbarrier.go b/libgo/go/runtime/mbarrier.go
index d3ffd3c..89febb9 100644
--- a/libgo/go/runtime/mbarrier.go
+++ b/libgo/go/runtime/mbarrier.go
@@ -23,6 +23,7 @@ import (
//
//go:linkname typedmemmove runtime.typedmemmove
//go:linkname typedslicecopy runtime.typedslicecopy
+//go:linkname memclrHasPointers runtime.memclrHasPointers
// Go uses a hybrid barrier that combines a Yuasa-style deletion
// barrier—which shades the object whose reference is being
diff --git a/libgo/go/runtime/stubs.go b/libgo/go/runtime/stubs.go
index dfdb38e..435cdf7 100644
--- a/libgo/go/runtime/stubs.go
+++ b/libgo/go/runtime/stubs.go
@@ -100,6 +100,7 @@ func reflect_memclrNoHeapPointers(ptr unsafe.Pointer, n uintptr) {
// memmove copies n bytes from "from" to "to".
//go:noescape
+//extern __builtin_memmove
func memmove(to, from unsafe.Pointer, n uintptr)
//go:linkname reflect_memmove reflect.memmove