[llvm] Extend macOS version check to cover other Darwin platforms (PR #159155)

via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 16 12:09:10 PDT 2025


https://github.com/Un1q32 created https://github.com/llvm/llvm-project/pull/159155

Now that the versions are all unified, we should be able to just do something like
```c
#if defined(__ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ ) && \
    __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__  >= 260000
```
for future version checks, but for for older versions we still have to do a check for every different OS.

>From 927612656cc63b3fe421a42f005921be6163b3d2 Mon Sep 17 00:00:00 2001
From: Un1q32 <joey.t.reinhart at gmail.com>
Date: Tue, 16 Sep 2025 15:03:29 -0400
Subject: [PATCH] fix build on other darwin platforms

---
 llvm/lib/CAS/OnDiskCommon.cpp | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/llvm/lib/CAS/OnDiskCommon.cpp b/llvm/lib/CAS/OnDiskCommon.cpp
index 25aa06bfe64da..b235503b37273 100644
--- a/llvm/lib/CAS/OnDiskCommon.cpp
+++ b/llvm/lib/CAS/OnDiskCommon.cpp
@@ -107,8 +107,14 @@ Expected<size_t> cas::ondisk::preallocateFileTail(int FD, size_t CurrentSize,
   fstore_t FAlloc;
   FAlloc.fst_flags = F_ALLOCATEALL;
 #if defined(F_ALLOCATEPERSIST) &&                                              \
-    defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) &&                  \
-    __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130000
+    ((defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) &&                \
+      __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 130000) ||              \
+     (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) &&               \
+      __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ < 160000) ||              \
+     (defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__) &&                \
+      __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ < 90000) ||                \
+     (defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__) &&                   \
+      __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ < 160000))
   // F_ALLOCATEPERSIST is introduced in macOS 13.
   FAlloc.fst_flags |= F_ALLOCATEPERSIST;
 #endif



More information about the llvm-commits mailing list