https://github.com/ian-twilightcoder updated 
https://github.com/llvm/llvm-project/pull/181958

>From 1444df6221fc164fecd8bdce2d931cef9058f6e6 Mon Sep 17 00:00:00 2001
From: Ian Anderson <[email protected]>
Date: Tue, 17 Feb 2026 18:44:25 -0800
Subject: [PATCH] [clang][darwin] macOS no longer infers a minimum deployment
 version from the OS version

The recent createFromSDKInfo refactor lost the getSystemOrSDKMacOSVersion 
version adjustment on macOS, causing -arch builds to create binaries that can't 
run on the host that built them.

rdar://170007161
---
 clang/lib/Driver/ToolChains/Darwin.cpp       | 9 ++++++---
 clang/test/Driver/darwin-sdk-vs-os-version.c | 6 +++++-
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp 
b/clang/lib/Driver/ToolChains/Darwin.cpp
index 74fcb10c0be22..373c6f6ab7f58 100644
--- a/clang/lib/Driver/ToolChains/Darwin.cpp
+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
@@ -1937,9 +1937,12 @@ struct DarwinPlatform {
                                           const DarwinSDKInfo &SDKInfo) {
     const DarwinSDKInfo::SDKPlatformInfo PlatformInfo =
         SDKInfo.getCanonicalPlatformInfo();
-    DarwinPlatform Result(InferredFromSDK,
-                          getPlatformFromOS(PlatformInfo.getOS()),
-                          SDKInfo.getVersion());
+    const llvm::Triple::OSType OS = PlatformInfo.getOS();
+    VersionTuple Version = SDKInfo.getVersion();
+    if (OS == llvm::Triple::MacOSX)
+      Version = getVersionFromString(
+          getSystemOrSDKMacOSVersion(Version.getAsString()));
+    DarwinPlatform Result(InferredFromSDK, getPlatformFromOS(OS), Version);
     Result.Environment = getEnvKindFromEnvType(PlatformInfo.getEnvironment());
     Result.InferSimulatorFromArch = false;
     Result.InferredSource = SDKRoot;
diff --git a/clang/test/Driver/darwin-sdk-vs-os-version.c 
b/clang/test/Driver/darwin-sdk-vs-os-version.c
index 94e52a9036ede..346161452216e 100644
--- a/clang/test/Driver/darwin-sdk-vs-os-version.c
+++ b/clang/test/Driver/darwin-sdk-vs-os-version.c
@@ -7,4 +7,8 @@
 // RUN: %clang -target x86_64-apple-darwin -isysroot 
%t/SDKs/MacOSX99.99.99.sdk %s -### 2>&1 \
 // RUN:   | FileCheck --check-prefix=CHECK-MACOSX-SYSTEM-VERSION %s
 
-// CHECK-MACOSX-SYSTEM-VERSION-NOT: 99.99.99"
+// RUN: sed -e 's/15\.1/99\.99\.99/g' 
%S/Inputs/MacOSX15.1.sdk/SDKSettings.json > 
%t/SDKs/MacOSX99.99.99.sdk/SDKSettings.json
+// RUN: %clang -target x86_64-apple-darwin -isysroot 
%t/SDKs/MacOSX99.99.99.sdk %s -### 2>&1 \
+// RUN:   | FileCheck --check-prefix=CHECK-MACOSX-SYSTEM-VERSION %s
+
+// CHECK-MACOSX-SYSTEM-VERSION-NOT: "-triple" "{{[[:alnum:]_-]*}}99.99.99"

_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to