llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver Author: Ian Anderson (ian-twilightcoder) <details> <summary>Changes</summary> 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. --- Full diff: https://github.com/llvm/llvm-project/pull/181958.diff 2 Files Affected: - (modified) clang/lib/Driver/ToolChains/Darwin.cpp (+7-3) - (modified) clang/test/Driver/darwin-sdk-vs-os-version.c (+5-1) ``````````diff diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp index 1c95a79a52a9c..d7541008bdb64 100644 --- a/clang/lib/Driver/ToolChains/Darwin.cpp +++ b/clang/lib/Driver/ToolChains/Darwin.cpp @@ -1938,9 +1938,13 @@ 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" `````````` </details> https://github.com/llvm/llvm-project/pull/181958 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
