diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp index 5062c33bb096..bf1425fe65ef 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 0e388ea3abe6..ac8a2cb9b9f5 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