summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2011-04-30 04:22:58 +0000
committerDaniel Dunbar <daniel@zuster.org>2011-04-30 04:22:58 +0000
commit72ceb92aa39903feca5de7f7b5b9c46e8b6f43b8 (patch)
tree1c8f8a202928fe139c820598711e7798c2697273
parenta9cbb6b9d5a48110469496938d3232665ec236ab (diff)
downloadbcm5719-llvm-72ceb92aa39903feca5de7f7b5b9c46e8b6f43b8.tar.gz
bcm5719-llvm-72ceb92aa39903feca5de7f7b5b9c46e8b6f43b8.zip
Driver/Darwin: When using -mios-simulator-version-min, explicitly pass this on
to the linker. - Only do this explicitly with the argument for now, the linker will need to explicitly add support for this. llvm-svn: 130594
-rw-r--r--clang/lib/Driver/Tools.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index b4693010e19..2c805923c52 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -2820,8 +2820,20 @@ void darwin::Link::AddLinkArgs(Compilation &C,
// Add the deployment target.
unsigned TargetVersion[3];
DarwinTC.getTargetVersion(TargetVersion);
- CmdArgs.push_back(DarwinTC.isTargetIPhoneOS() ? "-iphoneos_version_min" :
- "-macosx_version_min");
+
+ // If we had an explicit -mios-simulator-version-min argument, honor that,
+ // otherwise use the traditional deployment targets. We can't just check the
+ // is-sim attribute because existing code follows this path, and the linker
+ // may not handle the argument.
+ //
+ // FIXME: We may be able to remove this, once we can verify no one depends on
+ // it.
+ if (Args.hasArg(options::OPT_mios_simulator_version_min_EQ))
+ CmdArgs.push_back("-ios_simulator_version_min");
+ else if (DarwinTC.isTargetIPhoneOS())
+ CmdArgs.push_back("-iphoneos_version_min");
+ else
+ CmdArgs.push_back("-macosx_version_min");
CmdArgs.push_back(Args.MakeArgString(llvm::Twine(TargetVersion[0]) + "." +
llvm::Twine(TargetVersion[1]) + "." +
llvm::Twine(TargetVersion[2])));
OpenPOWER on IntegriCloud