summaryrefslogtreecommitdiffhomepage
path: root/third_party/gvsync/memmove_unsafe.go
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/gvsync/memmove_unsafe.go')
-rw-r--r--third_party/gvsync/memmove_unsafe.go13
1 files changed, 9 insertions, 4 deletions
diff --git a/third_party/gvsync/memmove_unsafe.go b/third_party/gvsync/memmove_unsafe.go
index 4c8aa9ab6..84b69f215 100644
--- a/third_party/gvsync/memmove_unsafe.go
+++ b/third_party/gvsync/memmove_unsafe.go
@@ -3,12 +3,21 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+// +build go1.12
+// +build !go1.14
+
+// Check go:linkname function signatures when updating Go version.
+
package gvsync
import (
"unsafe"
)
+//go:linkname memmove runtime.memmove
+//go:noescape
+func memmove(to, from unsafe.Pointer, n uintptr)
+
// Memmove is exported for SeqAtomicLoad/SeqAtomicTryLoad<T>, which can't
// define it because go_generics can't update the go:linkname annotation.
// Furthermore, go:linkname silently doesn't work if the local name is exported
@@ -17,7 +26,3 @@ import (
func Memmove(to, from unsafe.Pointer, n uintptr) {
memmove(to, from, n)
}
-
-//go:linkname memmove runtime.memmove
-//go:noescape
-func memmove(to, from unsafe.Pointer, n uintptr)