summaryrefslogtreecommitdiff
path: root/test/test-api.c
diff options
context:
space:
mode:
authorDaan Leijen <daan@microsoft.com>2021-12-18 11:11:44 -0800
committerDaan Leijen <daan@microsoft.com>2021-12-18 11:11:44 -0800
commit89090510bd965ca48a83857eaa6b6e78a951bf7e (patch)
tree2801bb5229c37ce0e46c262c07d5acfba98bae89 /test/test-api.c
parent30a99e2c514b7f69b3224181b4d3877deffd824c (diff)
update alignment tests
Diffstat (limited to 'test/test-api.c')
-rw-r--r--test/test-api.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/test/test-api.c b/test/test-api.c
index 56835d0..9681733 100644
--- a/test/test-api.c
+++ b/test/test-api.c
@@ -159,20 +159,26 @@ int main(void) {
void* p = mi_malloc_aligned(4097,4096); size_t usable = mi_usable_size(p); result = usable >= 4097 && usable < 10000; mi_free(p);
});
CHECK_BODY("malloc-aligned6", {
- void* p;
bool ok = true;
- for (int i = 1; i < 8 && ok; i++) {
- size_t align = (size_t)1 << i;
- p = mi_malloc_aligned(2*align, align);
- ok = (p != NULL && (uintptr_t)(p) % align == 0); mi_free(p);
+ for (size_t align = 1; align <= MI_ALIGNMENT_MAX && ok; align *= 2) {
+ void* ps[8];
+ for (int i = 0; i < 8 && ok; i++) {
+ ps[i] = mi_malloc_aligned(align/2 /*size*/, align);
+ if (ps[i] == NULL || (uintptr_t)(ps[i]) % align != 0) {
+ ok = false;
+ }
+ }
+ for (int i = 0; i < 8 && ok; i++) {
+ mi_free(ps[i]);
+ }
}
result = ok;
});
CHECK_BODY("malloc-aligned7", {
- void* p = mi_malloc_aligned(1024,MI_ALIGNED_MAX); mi_free(p);
+ void* p = mi_malloc_aligned(1024,MI_ALIGNMENT_MAX); mi_free(p);
});
CHECK_BODY("malloc-aligned8", {
- void* p = mi_malloc_aligned(1024,2*MI_ALIGNED_MAX); mi_free(p);
+ void* p = mi_malloc_aligned(1024,2*MI_ALIGNMENT_MAX); mi_free(p);
});
CHECK_BODY("malloc-aligned-at1", {
void* p = mi_malloc_aligned_at(48,32,0); result = (p != NULL && ((uintptr_t)(p) + 0) % 32 == 0); mi_free(p);