From 1ddc5610f93d39e723f31bb07e60a5f0a4aca311 Mon Sep 17 00:00:00 2001 From: Abdelrahman Said Date: Sat, 5 Oct 2024 19:11:13 +0100 Subject: [PATCH] Remove aligned_alloc from libc allocator since it's not implemented on Windows --- src/core/mem/libc/mem_libc_allocator.c | 15 ++++++++++----- tests/allocator/test_allocator.c | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/core/mem/libc/mem_libc_allocator.c b/src/core/mem/libc/mem_libc_allocator.c index a98a092..07ebea4 100644 --- a/src/core/mem/libc/mem_libc_allocator.c +++ b/src/core/mem/libc/mem_libc_allocator.c @@ -5,18 +5,21 @@ #include internal inline void *mem_libc_alloc(u64 size, void *alloc_obj); +// TODO (Abdelrahman): aligned_alloc isn't implemented on Windows. Revisit later +#if 0 internal inline void *mem_libc_alloc_aligned(u64 size, u64 alignment, void *alloc_obj); +#endif internal inline void *mem_libc_realloc(void *ptr, u64 old_size, u64 new_size, void *alloc_obj); internal inline void mem_libc_free(void **ptr, void *alloc_obj); Allocator wapp_mem_libc_allocator(void) { return (Allocator){ - .obj = NULL, - .alloc = mem_libc_alloc, - .alloc_aligned = mem_libc_alloc_aligned, - .realloc = mem_libc_realloc, + .obj = NULL, + .alloc = mem_libc_alloc, + .alloc_aligned = NULL, + .realloc = mem_libc_realloc, .realloc_aligned = NULL, - .free = mem_libc_free, + .free = mem_libc_free, }; } @@ -24,6 +27,7 @@ internal inline void *mem_libc_alloc(u64 size, void *alloc_obj) { return calloc(1, size); } +#if 0 internal inline void *mem_libc_alloc_aligned(u64 size, u64 alignment, void *alloc_obj) { void *output = aligned_alloc(alignment, size); @@ -33,6 +37,7 @@ internal inline void *mem_libc_alloc_aligned(u64 size, u64 alignment, return output; } +#endif internal inline void *mem_libc_realloc(void *ptr, u64 old_size, u64 new_size, void *alloc_obj) { return realloc(ptr, old_size); diff --git a/tests/allocator/test_allocator.c b/tests/allocator/test_allocator.c index 8cb883c..043eda7 100644 --- a/tests/allocator/test_allocator.c +++ b/tests/allocator/test_allocator.c @@ -9,7 +9,7 @@ TestFuncResult test_libc_allocator(void) { Allocator allocator = wapp_mem_libc_allocator(); bool result = allocator.obj == NULL && allocator.alloc != NULL && - allocator.alloc_aligned != NULL && allocator.realloc != NULL && + allocator.alloc_aligned == NULL && allocator.realloc != NULL && allocator.realloc_aligned == NULL && allocator.free != NULL; void *ptr = wapp_mem_allocator_alloc(&allocator, 20); result = result && (ptr != NULL);