Mercurial > vec
diff test/test_align.h @ 29:e59c91d050c0
*: add aligned malloc stuff :)
author | Paper <paper@tflc.us> |
---|---|
date | Thu, 24 Apr 2025 17:12:05 -0400 |
parents | 41dd962abdd1 |
children | 641d8c79b1da |
line wrap: on
line diff
--- a/test/test_align.h Thu Apr 24 00:54:02 2025 -0400 +++ b/test/test_align.h Thu Apr 24 17:12:05 2025 -0400 @@ -1,6 +1,7 @@ static int test_align(void) { int ret = 0; + int i; #define RUN_TEST(sign, csign, bits, size) \ do { \ @@ -8,7 +9,7 @@ V##csign##INT##bits##x##size##_ALIGNED_ARRAY(vec_arr); \ \ /* fill the values */ \ - for (int i = 0; i < size; i++) \ + for (i = 0; i < size; i++) \ vec_arr[i] = i; \ \ /* try to load it */ \ @@ -58,5 +59,23 @@ #undef RUN_TESTS #undef RUN_TEST + for (i = 0; i < 50; i++) { + void *q = vec_malloc(i); + + ret |= !!((uintptr_t)q & 63); + + /* try a bigger size */ + q = vec_realloc(q, i + 10); + + ret |= !!((uintptr_t)q & 63); + + /* now a smaller one */ + q = vec_realloc(q, i - 10); + + ret |= !!((uintptr_t)q & 63); + + vec_free(q); + } + return ret; }