Fix libc.aligned_alloc on Windows

This commit is contained in:
gingerBill
2022-09-22 01:17:58 +01:00
parent b426e8577b
commit 07d798c61a

View File

@@ -88,6 +88,7 @@ foreign libc {
srand :: proc(seed: uint) ---
// 7.22.3 Memory management functions
@(link_name="_aligned_malloc" when ODIN_OS == .Windows else "aligned_alloc")
aligned_alloc :: proc(aligment, size: size_t) -> rawptr ---
calloc :: proc(nmemb, size: size_t) -> rawptr ---
free :: proc(ptr: rawptr) ---
@@ -125,3 +126,15 @@ foreign libc {
mbstowcs :: proc(pwcs: ^wchar_t, s: cstring, n: size_t) -> size_t ---
wcstombs :: proc(s: [^]char, pwcs: ^wchar_t, n: size_t) -> size_t ---
}
aligned_free :: proc "c" (ptr: rawptr) {
when ODIN_OS == .Windows {
foreign libc {
_aligned_free :: proc(ptr: rawptr) ---
}
_aligned_free(ptr)
} else {
free(ptr)
}
}