r305891 - Revert r305678: [driver][macOS] Pick the system version for the

Alex Lorenz via cfe-commits cfe-commits at lists.llvm.org
Wed Jun 21 03:27:24 PDT 2017


Author: arphaman
Date: Wed Jun 21 05:27:24 2017
New Revision: 305891

URL: http://llvm.org/viewvc/llvm-project?rev=305891&view=rev
Log:
Revert r305678: [driver][macOS] Pick the system version for the
deployment target if the SDK is newer than the system

This commit also reverts follow-up commits r305680 and r305685 that have
buildbot fixes.

The change in r305678 wasn't correct because it relied on
`llvm::sys::getProcessTriple`, which uses a pre-configured OS version. We should
lookup the actual macOS version of the system on which the compiler is running.

Removed:
    cfe/trunk/test/Driver/darwin-sdk-vs-os-version.c
Modified:
    cfe/trunk/lib/Driver/ToolChains/Darwin.cpp

Modified: cfe/trunk/lib/Driver/ToolChains/Darwin.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Darwin.cpp?rev=305891&r1=305890&r2=305891&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ToolChains/Darwin.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains/Darwin.cpp Wed Jun 21 05:27:24 2017
@@ -1118,27 +1118,6 @@ void DarwinClang::AddLinkRuntimeLibArgs(
   }
 }
 
-/// 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();
 
@@ -1231,7 +1210,7 @@ void Darwin::AddDeploymentTarget(Derived
                 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;

Removed: cfe/trunk/test/Driver/darwin-sdk-vs-os-version.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/darwin-sdk-vs-os-version.c?rev=305890&view=auto
==============================================================================
--- cfe/trunk/test/Driver/darwin-sdk-vs-os-version.c (original)
+++ cfe/trunk/test/Driver/darwin-sdk-vs-os-version.c (removed)
@@ -1,10 +0,0 @@
-// 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"




More information about the cfe-commits mailing list