Browse Source

runtime: implement memmove intrinsic

This should fix the following issue:
https://github.com/tinygo-org/tinygo/issues/252
pull/211/head
Ayke van Laethem 6 years ago
committed by Ron Evans
parent
commit
b64fc5484a
  1. 10
      src/runtime/runtime_cortexm.go

10
src/runtime/runtime_cortexm.go

@ -46,10 +46,16 @@ func abort() {
}
}
// Implement memset for compiler-rt.
// Implement memset for LLVM and compiler-rt.
//go:export memset
func memset(ptr unsafe.Pointer, c byte, size uintptr) {
func libc_memset(ptr unsafe.Pointer, c byte, size uintptr) {
for i := uintptr(0); i < size; i++ {
*(*byte)(unsafe.Pointer(uintptr(ptr) + i)) = c
}
}
// Implement memmove for LLVM and compiler-rt.
//go:export memmove
func libc_memmove(dst, src unsafe.Pointer, size uintptr) {
memmove(dst, src, size)
}

Loading…
Cancel
Save