[clang] 3d0d7d8 - [clang][driver][darwin] support -target with Mac Catalyst triple without OS version
Alex Lorenz via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 28 18:46:23 PDT 2021
Author: Alex Lorenz
Date: 2021-10-28T18:46:10-07:00
New Revision: 3d0d7d8c5b669332f55c0af654b10f510bde1932
URL: https://github.com/llvm/llvm-project/commit/3d0d7d8c5b669332f55c0af654b10f510bde1932
DIFF: https://github.com/llvm/llvm-project/commit/3d0d7d8c5b669332f55c0af654b10f510bde1932.diff
LOG: [clang][driver][darwin] support -target with Mac Catalyst triple without OS version
Some users might omit the version and assume the compiler will target the initial
Mac Catalyst version.
Added:
Modified:
clang/lib/Driver/ToolChains/Darwin.cpp
clang/test/Driver/darwin-maccatalyst.c
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp
index 5062c33bb0966..bf1425fe65efa 100644
--- a/clang/lib/Driver/ToolChains/Darwin.cpp
+++ b/clang/lib/Driver/ToolChains/Darwin.cpp
@@ -1820,7 +1820,12 @@ std::string getOSVersion(llvm::Triple::OSType OS, const llvm::Triple &Triple,
<< Triple.getOSName();
break;
case llvm::Triple::IOS:
- Triple.getiOSVersion(Major, Minor, Micro);
+ if (Triple.isMacCatalystEnvironment() && !Triple.getOSMajorVersion()) {
+ Major = 13;
+ Minor = 1;
+ Micro = 0;
+ } else
+ Triple.getiOSVersion(Major, Minor, Micro);
break;
case llvm::Triple::TvOS:
Triple.getOSVersion(Major, Minor, Micro);
diff --git a/clang/test/Driver/darwin-maccatalyst.c b/clang/test/Driver/darwin-maccatalyst.c
index 0e388ea3abe67..ac8a2cb9b9f57 100644
--- a/clang/test/Driver/darwin-maccatalyst.c
+++ b/clang/test/Driver/darwin-maccatalyst.c
@@ -1,9 +1,12 @@
// RUN: %clang -target x86_64-apple-ios13.1-macabi -c %s -### 2>&1 | \
// RUN: FileCheck --check-prefix=CHECK-VERSION1 %s
+// RUN: %clang -target x86_64-apple-ios-macabi -c %s -### 2>&1 | \
+// RUN: FileCheck --check-prefix=CHECK-VERSION1 %s
// RUN: %clang -target x86_64-apple-ios13.0-macabi -c %s -### 2>&1 | \
// RUN: FileCheck --check-prefix=CHECK-ERROR %s
// RUN: %clang -target x86_64-apple-ios12.0-macabi -c %s -### 2>&1 | \
// RUN: FileCheck --check-prefix=CHECK-ERROR %s
+// CHECK-VERSION1-NOT: error:
// CHECK-VERSION1: "x86_64-apple-ios13.1.0-macabi"
// CHECK-ERROR: error: invalid version number in '-target x86_64-apple-ios
More information about the cfe-commits
mailing list