r226011 - Revert "More robust deployment target parsing on darwin"

Steven Wu stevenwu at apple.com
Wed Jan 14 10:22:29 PST 2015


Author: steven_wu
Date: Wed Jan 14 12:22:29 2015
New Revision: 226011

URL: http://llvm.org/viewvc/llvm-project?rev=226011&view=rev
Log:
Revert "More robust deployment target parsing on darwin"

This breaks green-dragon. Revert it and investigate.

Modified:
    cfe/trunk/lib/Driver/ToolChains.cpp
    cfe/trunk/test/Driver/darwin-sdkroot.c

Modified: cfe/trunk/lib/Driver/ToolChains.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=226011&r1=226010&r2=226011&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ToolChains.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChains.cpp Wed Jan 14 12:22:29 2015
@@ -494,28 +494,16 @@ void Darwin::AddDeploymentTarget(Derived
     if (char *env = ::getenv("IPHONEOS_DEPLOYMENT_TARGET"))
       iOSTarget = env;
 
-    // If there is no command-line argument to specify the Target version and
-    // no environment variable defined, see if we can set the default based
-    // on -isysroot.
-    if (iOSTarget.empty() && OSXTarget.empty() &&
-        Args.hasArg(options::OPT_isysroot)) {
+    // If no '-miphoneos-version-min' specified on the command line and
+    // IPHONEOS_DEPLOYMENT_TARGET is not defined, see if we can set the default
+    // based on -isysroot.
+    if (iOSTarget.empty()) {
       if (const Arg *A = Args.getLastArg(options::OPT_isysroot)) {
+        StringRef first, second;
         StringRef isysroot = A->getValue();
-        // Assume SDK has path: SOME_PATH/SDKs/PlatformXX.YY.sdk
-        size_t BeginSDK = isysroot.rfind("SDKs/");
-        size_t EndSDK = isysroot.rfind(".sdk");
-        if (BeginSDK != StringRef::npos && EndSDK != StringRef::npos) {
-          StringRef SDK = isysroot.slice(BeginSDK + 5, EndSDK);
-          size_t StartVer = SDK.find_first_of("123456789");
-          if (StartVer != StringRef::npos) {
-            StringRef Version = SDK.substr(StartVer);
-            if (SDK.startswith("iPhoneOS") ||
-                SDK.startswith("iPhoneSimulator"))
-              iOSTarget = Version;
-            else if (SDK.startswith("MacOSX"))
-              OSXTarget = Version;
-          }
-        }
+        std::tie(first, second) = isysroot.split(StringRef("SDKs/iPhoneOS"));
+        if (second != "")
+          iOSTarget = second.substr(0,3);
       }
     }
 

Modified: cfe/trunk/test/Driver/darwin-sdkroot.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/darwin-sdkroot.c?rev=226011&r1=226010&r2=226011&view=diff
==============================================================================
--- cfe/trunk/test/Driver/darwin-sdkroot.c (original)
+++ cfe/trunk/test/Driver/darwin-sdkroot.c Wed Jan 14 12:22:29 2015
@@ -40,38 +40,3 @@
 //   env SDKROOT=/ cmd //c echo %SDKROOT%
 //
 // This test passes using env.exe from GnuWin32.
-
-// Check if clang set the correct deployment target from -sysroot
-//
-// RUN: rm -rf %t/SDKs/iPhoneOS8.0.0.sdk
-// RUN: mkdir -p %t/SDKs/iPhoneOS8.0.0.sdk
-// RUN: env SDKROOT=%t/SDKs/iPhoneOS8.0.0.sdk %clang -target arm64-apple-darwin %s -### 2>&1 \
-// RUN:   | FileCheck --check-prefix=CHECK-IPHONE %s
-//
-// CHECK-IPHONE: clang
-// CHECK-IPHONE: "-cc1"
-// CHECK-IPHONE: "-triple" "arm64-apple-ios8.0.0"
-// CHECK-IPHONE: ld
-// CHECK-IPHONE: "-iphoneos_version_min" "8.0.0"
-//
-// RUN: rm -rf %t/SDKs/iPhoneSimulator8.0.0.sdk
-// RUN: mkdir -p %t/SDKs/iPhoneSimulator8.0.0.sdk
-// RUN: env SDKROOT=%t/SDKs/iPhoneSimulator8.0.0.sdk %clang -target x86_64-apple-darwin %s -### 2>&1 \
-// RUN:   | FileCheck --check-prefix=CHECK-SIMULATOR %s
-//
-// CHECK-SIMULATOR: clang
-// CHECK-SIMULATOR: "-cc1"
-// CHECK-SIMULATOR: "-triple" "x86_64-apple-ios8.0.0"
-// CHECK-SIMULATOR: ld
-// CHECK-SIMULATOR: "-ios_simulator_version_min" "8.0.0"
-//
-// RUN: rm -rf %t/SDKs/MacOSX10.10.0.sdk
-// RUN: mkdir -p %t/SDKs/MacOSX10.10.0.sdk
-// RUN: env SDKROOT=%t/SDKs/MacOSX10.10.0.sdk %clang -target x86_64-apple-darwin %s -### 2>&1 \
-// RUN:   | FileCheck --check-prefix=CHECK-MACOSX %s
-//
-// CHECK-MACOSX: clang
-// CHECK-MACOSX: "-cc1"
-// CHECK-MACOSX: "-triple" "x86_64-apple-macosx10.10.0"
-// CHECK-MACOSX: ld
-// CHECK-MACOSX: "-macosx_version_min" "10.10.0"





More information about the cfe-commits mailing list