mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 07:38:48 +00:00
Fix libc.aligned_alloc on Windows
This commit is contained in:
@@ -88,6 +88,7 @@ foreign libc {
|
|||||||
srand :: proc(seed: uint) ---
|
srand :: proc(seed: uint) ---
|
||||||
|
|
||||||
// 7.22.3 Memory management functions
|
// 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 ---
|
aligned_alloc :: proc(aligment, size: size_t) -> rawptr ---
|
||||||
calloc :: proc(nmemb, size: size_t) -> rawptr ---
|
calloc :: proc(nmemb, size: size_t) -> rawptr ---
|
||||||
free :: proc(ptr: rawptr) ---
|
free :: proc(ptr: rawptr) ---
|
||||||
@@ -125,3 +126,15 @@ foreign libc {
|
|||||||
mbstowcs :: proc(pwcs: ^wchar_t, s: cstring, n: size_t) -> size_t ---
|
mbstowcs :: proc(pwcs: ^wchar_t, s: cstring, n: size_t) -> size_t ---
|
||||||
wcstombs :: proc(s: [^]char, pwcs: ^wchar_t, 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)
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user