Loading...
--- libmalloc/libmalloc-792.80.2/tests/aligned_alloc_test.c
+++ libmalloc/libmalloc-521.120.7/tests/aligned_alloc_test.c
@@ -12,7 +12,7 @@
#include <stdio.h>
#include <stdlib.h>
-T_GLOBAL_META(T_META_RUN_CONCURRENTLY(true), T_META_TAG_ALL_ALLOCATORS);
+T_GLOBAL_META(T_META_RUN_CONCURRENTLY(true), T_META_TAG_XZONE);
static inline void*
t_aligned_alloc(size_t alignment, size_t size)
@@ -32,32 +32,18 @@
return ptr;
}
-T_DECL(aligned_alloc_free, "aligned_alloc all power of two alignments <= 64kb",
- T_META_TAG_VM_PREFERRED)
+T_DECL(aligned_alloc_free, "aligned_alloc all power of two alignments <= 256kb")
{
-#if TARGET_OS_WATCH && !defined(__LP64__)
- const size_t max_alignment = 4096;
-#else
- const size_t max_alignment = 64 * 1024;
-#endif // TARGET_OS_WATCH
- for (size_t alignment = sizeof(void*); alignment < max_alignment;
- alignment *= 2) {
+ for (size_t alignment = sizeof(void*); alignment < 4096; alignment *= 2) {
// test several sizes that are multiples of the alignment
- for (size_t size = alignment; size <= 256*alignment; size += alignment) {
- const int num_ptrs = 10;
- void *ptrs[num_ptrs];
- for (int i = 0; i < num_ptrs; i++) {
- ptrs[i] = t_aligned_alloc(alignment, size);
- }
- for (int i = 0; i < num_ptrs; i++) {
- free(ptrs[i]);
- }
+ for (size_t size = alignment; size <= 512*alignment; size += alignment) {
+ void* ptr = t_aligned_alloc(alignment, size);
+ free(ptr);
}
}
}
-T_DECL(aligned_alloc_alignment_not_multiple_of_size, "aligned_alloc should set errno to EINVAL if size is not a multiple of alignment",
- T_META_TAG_VM_PREFERRED)
+T_DECL(aligned_alloc_alignment_not_multiple_of_size, "aligned_alloc should set errno to EINVAL if size is not a multiple of alignment")
{
{
void *ptr = aligned_alloc(8, 12);
@@ -72,11 +58,8 @@
}
}
-T_DECL(aligned_alloc_alignment_not_power_of_two, "aligned_alloc should set errno to EINVAL if alignment is not a power of two (implementation constraint)",
- T_META_TAG_VM_PREFERRED)
+T_DECL(aligned_alloc_alignment_not_power_of_two, "aligned_alloc should set errno to EINVAL if alignment is not a power of two (implementation constraint)")
{
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wnon-power-of-two-alignment"
{
void *ptr = aligned_alloc(24, 48); // alignment is even, but not a power of two
T_QUIET; T_ASSERT_NULL(ptr, "ptr should be null");
@@ -88,17 +71,12 @@
T_QUIET; T_ASSERT_NULL(ptr, "ptr should be null");
T_QUIET; T_ASSERT_EQ(errno, EINVAL, "errno should be EINVAL");
}
-#pragma GCC diagnostic pop
}
-T_DECL(aligned_alloc_alignment_not_a_multiple_of_voidstar, "aligned_alloc should set errno to EINVAL if alignment is not a multiple of sizeof(void*) (implementation constraint)",
- T_META_TAG_VM_PREFERRED)
+T_DECL(aligned_alloc_alignment_not_a_multiple_of_voidstar, "aligned_alloc should set errno to EINVAL if alignment is not a multiple of sizeof(void*) (implementation constraint)")
{
const size_t alignment = sizeof(void*)+1;
-#pragma GCC diagnostic push
-#pragma GCC diagnostic ignored "-Wnon-power-of-two-alignment"
void *ptr = aligned_alloc(alignment, alignment * 2);
-#pragma GCC diagnostic pop
T_QUIET; T_ASSERT_NULL(ptr, "ptr should be null");
T_QUIET; T_ASSERT_EQ(errno, EINVAL, "aligned_alloc should set errno to EINVAL");
}