runtime: implement memmove intrinsic
This should fix the following issue: https://github.com/tinygo-org/tinygo/issues/252
Этот коммит содержится в:
родитель
38f8cf7bee
коммит
b64fc5484a
1 изменённых файлов: 8 добавлений и 2 удалений
|
@ -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)
|
||||
}
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче