2121#include " ../SwiftShims/RuntimeShims.h"
2222#include < algorithm>
2323#include < stdlib.h>
24- #if defined(__APPLE__)
24+ #if defined(__APPLE__) && SWIFT_STDLIB_HAS_DARWIN_LIBMALLOC
2525#include " swift/Basic/Lazy.h"
2626#include < malloc/malloc.h>
2727#endif
@@ -61,7 +61,7 @@ using namespace swift;
6161static_assert (_swift_MinAllocationAlignment > MALLOC_ALIGN_MASK,
6262 " Swift's default alignment must exceed platform malloc mask." );
6363
64- #if defined(__APPLE__)
64+ #if defined(__APPLE__) && SWIFT_STDLIB_HAS_DARWIN_LIBMALLOC
6565static inline malloc_zone_t *DEFAULT_ZONE () {
6666 static malloc_zone_t *z = SWIFT_LAZY_CONSTANT (malloc_default_zone ());
6767 return z;
@@ -88,7 +88,7 @@ void *swift::swift_slowAlloc(size_t size, size_t alignMask) {
8888 void *p;
8989 // This check also forces "default" alignment to use AlignedAlloc.
9090 if (alignMask <= MALLOC_ALIGN_MASK) {
91- #if defined(__APPLE__)
91+ #if defined(__APPLE__) && SWIFT_STDLIB_HAS_DARWIN_LIBMALLOC
9292 p = malloc_zone_malloc (DEFAULT_ZONE (), size);
9393#else
9494 p = malloc (size);
@@ -121,7 +121,7 @@ void *swift::swift_slowAlloc(size_t size, size_t alignMask) {
121121// consistent with allocation with the same alignment.
122122void swift::swift_slowDealloc (void *ptr, size_t bytes, size_t alignMask) {
123123 if (alignMask <= MALLOC_ALIGN_MASK) {
124- #if defined(__APPLE__)
124+ #if defined(__APPLE__) && SWIFT_STDLIB_HAS_DARWIN_LIBMALLOC
125125 malloc_zone_free (DEFAULT_ZONE (), ptr);
126126#else
127127 free (ptr);
0 commit comments