From bd5969fc876a10b18613302db7087ef3c40f18e1 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Thu, 7 Mar 2024 17:28:00 -0500 Subject: lib: Add mlibc Signed-off-by: Ian Moffett --- lib/mlibc/tests/posix/posix_memalign.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 lib/mlibc/tests/posix/posix_memalign.c (limited to 'lib/mlibc/tests/posix/posix_memalign.c') diff --git a/lib/mlibc/tests/posix/posix_memalign.c b/lib/mlibc/tests/posix/posix_memalign.c new file mode 100644 index 0000000..34652b9 --- /dev/null +++ b/lib/mlibc/tests/posix/posix_memalign.c @@ -0,0 +1,21 @@ +#include +#include +#include +#include + +int main() { + void *p = NULL; + + // align must be a power of two + assert(posix_memalign(&p, 3, 1) == EINVAL && p == NULL); + + // align must be a multiple of sizeof(void *) + assert(posix_memalign(&p, sizeof(void *) / 2, 8) == EINVAL && p == NULL); + + assert(posix_memalign(&p, sizeof(void *), sizeof(void *)) == 0 && p != NULL && (uintptr_t)p % sizeof(void *) == 0); + free(p); + assert(posix_memalign(&p, 256, 1) == 0 && p != NULL && (uintptr_t)p % 256 == 0); + free(p); + assert(posix_memalign(&p, 256, 256) == 0 && p != NULL && (uintptr_t)p % 256 == 0); + free(p); +} -- cgit v1.2.3