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