From 5786ecc3cf0086d6a78ad325c00a1a60f538bc48 Mon Sep 17 00:00:00 2001 From: Matthew Parkinson Date: Wed, 8 Jan 2020 15:25:29 +0000 Subject: [PATCH] Made aligned_alloc produce aligned values. Previous implementation of aligned_alloc met the specification, but was not particularly useful. This uses the same implementation for alligned_alloc and memalign. --- src/override/malloc.cc | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/override/malloc.cc b/src/override/malloc.cc index 72e0f37..6adce4e 100644 --- a/src/override/malloc.cc +++ b/src/override/malloc.cc @@ -104,14 +104,6 @@ extern "C" } #endif - SNMALLOC_EXPORT void* - SNMALLOC_NAME_MANGLE(aligned_alloc)(size_t alignment, size_t size) - { - assert((size % alignment) == 0); - (void)alignment; - return SNMALLOC_NAME_MANGLE(malloc)(size); - } - inline size_t aligned_size(size_t alignment, size_t size) { // Client responsible for checking alignment is not zero @@ -159,6 +151,13 @@ extern "C" return SNMALLOC_NAME_MANGLE(malloc)(aligned_size(alignment, size)); } + SNMALLOC_EXPORT void* + SNMALLOC_NAME_MANGLE(aligned_alloc)(size_t alignment, size_t size) + { + assert((size % alignment) == 0); + return SNMALLOC_NAME_MANGLE(memalign)(alignment, size); + } + SNMALLOC_EXPORT int SNMALLOC_NAME_MANGLE(posix_memalign)( void** memptr, size_t alignment, size_t size) {