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
