diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-05-09 20:12:09 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2019-05-09 20:12:09 +0000 |
commit | 133d3bd8362f0c438017ca18adb51afb7288f78b (patch) | |
tree | ea10f6811c6c34a39dc86a7d21b2652dbd18fc65 /libgo/go | |
parent | b8754cd88a24097bdc0c018ea480e6f726f6baa7 (diff) | |
parent | 41a4d47581db409213d887c41dd914165b802419 (diff) | |
download | gcc-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.go | 3 | ||||
-rw-r--r-- | libgo/go/reflect/value.go | 2 | ||||
-rw-r--r-- | libgo/go/runtime/mbarrier.go | 1 | ||||
-rw-r--r-- | libgo/go/runtime/stubs.go | 1 |
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 |