}
}
-/// Returns the most appropriate macOS target version for the current process.
-///
-/// If the macOS SDK version is the same or earlier than the system version,
-/// then the SDK version is returned. Otherwise the system version is returned.
-static std::string getSystemOrSDKMacOSVersion(StringRef MacOSSDKVersion) {
- unsigned Major, Minor, Micro;
- llvm::Triple SystemTriple(llvm::sys::getProcessTriple());
- if (!SystemTriple.isMacOSX())
- return MacOSSDKVersion;
- SystemTriple.getMacOSXVersion(Major, Minor, Micro);
- VersionTuple SystemVersion(Major, Minor, Micro);
- bool HadExtra;
- if (!Driver::GetReleaseVersion(MacOSSDKVersion, Major, Minor, Micro,
- HadExtra))
- return MacOSSDKVersion;
- VersionTuple SDKVersion(Major, Minor, Micro);
- if (SDKVersion > SystemVersion)
- return SystemVersion.getAsString();
- return MacOSSDKVersion;
-}
-
void Darwin::AddDeploymentTarget(DerivedArgList &Args) const {
const OptTable &Opts = getDriver().getOpts();
SDK.startswith("iPhoneSimulator"))
iOSTarget = Version;
else if (SDK.startswith("MacOSX"))
- OSXTarget = getSystemOrSDKMacOSVersion(Version);
+ OSXTarget = Version;
else if (SDK.startswith("WatchOS") ||
SDK.startswith("WatchSimulator"))
WatchOSTarget = Version;
+++ /dev/null
-// REQUIRES: system-darwin
-
-// Ensure that we never pick a version that's based on the SDK that's newer than
-// the system version:
-// RUN: rm -rf %t/SDKs/MacOSX10.99.99.sdk
-// RUN: mkdir -p %t/SDKs/MacOSX10.99.99.sdk
-// RUN: %clang -target x86_64-apple-darwin -isysroot %t/SDKs/MacOSX10.99.99.sdk %s -### 2>&1 \
-// RUN: | FileCheck --check-prefix=CHECK-MACOSX-SYSTEM-VERSION %s
-
-// CHECK-MACOSX-SYSTEM-VERSION-NOT: 10.99.99"