diff options
| author | Chad Rosier <mcrosier@apple.com> | 2012-05-09 18:09:58 +0000 |
|---|---|---|
| committer | Chad Rosier <mcrosier@apple.com> | 2012-05-09 18:09:58 +0000 |
| commit | f761fe9d238894b8cefd79c380308b94ee021903 (patch) | |
| tree | e38872be91d7c1e24fd9d07be9c25541d36b773a /clang | |
| parent | 951949723db7c8bb400a50a95ae7357d3c7652f2 (diff) | |
| download | bcm5719-llvm-f761fe9d238894b8cefd79c380308b94ee021903.tar.gz bcm5719-llvm-f761fe9d238894b8cefd79c380308b94ee021903.zip | |
[driver] Use the iOS target triple to infer the deployment target.
rdar://11409204
llvm-svn: 156489
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 10 | ||||
| -rw-r--r-- | clang/test/Driver/target-triple-deployment.c | 33 |
2 files changed, 41 insertions, 2 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index cc1adb1ea83..86fef4fe693 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -524,8 +524,14 @@ void Darwin::AddDeploymentTarget(DerivedArgList &Args) const { // If no OSX or iOS target has been specified and we're compiling for armv7, // go ahead as assume we're targeting iOS. if (OSXTarget.empty() && iOSTarget.empty()) - if (getDarwinArchName(Args) == "armv7") - iOSTarget = "0.0"; + if (getDarwinArchName(Args) == "armv7") { + std::string iOSVersionMin; + unsigned Major, Minor, Micro; + getTriple().getiOSVersion(Major, Minor, Micro); + llvm::raw_string_ostream(iOSVersionMin) + << Major << '.' << Minor << '.' << Micro; + iOSTarget = iOSVersionMin; + } // Handle conflicting deployment targets // diff --git a/clang/test/Driver/target-triple-deployment.c b/clang/test/Driver/target-triple-deployment.c new file mode 100644 index 00000000000..56e512c9605 --- /dev/null +++ b/clang/test/Driver/target-triple-deployment.c @@ -0,0 +1,33 @@ +// RUN: touch %t.o +// RUN: %clang -target x86_64-apple-macosx -### %t.o 2> %t.log +// RUN: %clang -target x86_64-apple-darwin9 -### %t.o 2>> %t.log +// RUN: %clang -target x86_64-apple-macosx10.7 -### %t.o 2>> %t.log +// +// RUN: %clang -target armv7-apple-ios -### %t.o 2>> %t.log +// RUN: %clang -target armv7-apple-ios0.0 -### %t.o 2>> %t.log +// RUN: %clang -target armv7-apple-ios1.2.3 -### %t.o 2>> %t.log +// RUN: %clang -target armv7-apple-ios5.0 -### %t.o 2>> %t.log +// +// RUN: FileCheck %s < %t.log + +// CHECK: {{ld(.exe)?"}} +// CHECK: -macosx_version_min +// CHECK: 10.4.0 +// CHECK: {{ld(.exe)?"}} +// CHECK: -macosx_version_min +// CHECK: 10.5.0 +// CHECK: {{ld(.exe)?"}} +// CHECK: -macosx_version_min +// CHECK: 10.7.0 +// CHECK: {{ld(.exe)?"}} +// CHECK: -iphoneos_version_min +// CHECK: 0.0.0 +// CHECK: {{ld(.exe)?"}} +// CHECK: -iphoneos_version_min +// CHECK: 0.0.0 +// CHECK: {{ld(.exe)?"}} +// CHECK: -iphoneos_version_min +// CHECK: 1.2.3 +// CHECK: {{ld(.exe)?"}} +// CHECK: -iphoneos_version_min +// CHECK: 5.0.0 |

