summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-07-19 17:11:33 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-07-19 17:11:33 +0000
commitb2b8a91aa45811627a2f365762bb2afbebee3421 (patch)
tree99b2638d17d38dc13755d0a63989dd02db841cdd /clang/lib/Driver/ToolChains.cpp
parent549c1cd2c5f411d1d53c563dfda1de6af0614547 (diff)
downloadbcm5719-llvm-b2b8a91aa45811627a2f365762bb2afbebee3421.tar.gz
bcm5719-llvm-b2b8a91aa45811627a2f365762bb2afbebee3421.zip
Driver: Factor out Darwin::AddDeploymentTarget.
llvm-svn: 108711
Diffstat (limited to 'clang/lib/Driver/ToolChains.cpp')
-rw-r--r--clang/lib/Driver/ToolChains.cpp26
1 files changed, 16 insertions, 10 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index a78d1536fa1..dddb1d93c6f 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -415,18 +415,10 @@ void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args,
}
}
-DerivedArgList *Darwin::TranslateArgs(const DerivedArgList &Args,
- const char *BoundArch) const {
- DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs());
+void Darwin::AddDeploymentTarget(const DerivedArgList &Args,
+ DerivedArgList *DAL) const {
const OptTable &Opts = getDriver().getOpts();
- // FIXME: We really want to get out of the tool chain level argument
- // translation business, as it makes the driver functionality much
- // more opaque. For now, we follow gcc closely solely for the
- // purpose of easily achieving feature parity & testability. Once we
- // have something that works, we should reevaluate each translation
- // and try to push it down into tool specific logic.
-
Arg *OSXVersion = Args.getLastArg(options::OPT_mmacosx_version_min_EQ);
Arg *iPhoneVersion = Args.getLastArg(options::OPT_miphoneos_version_min_EQ);
if (OSXVersion && iPhoneVersion) {
@@ -495,6 +487,20 @@ DerivedArgList *Darwin::TranslateArgs(const DerivedArgList &Args,
<< iPhoneVersion->getAsString(Args);
}
setTarget(iPhoneVersion, Major, Minor, Micro);
+}
+
+DerivedArgList *Darwin::TranslateArgs(const DerivedArgList &Args,
+ const char *BoundArch) const {
+ DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs());
+ const OptTable &Opts = getDriver().getOpts();
+
+ // FIXME: We really want to get out of the tool chain level argument
+ // translation business, as it makes the driver functionality much
+ // more opaque. For now, we follow gcc closely solely for the
+ // purpose of easily achieving feature parity & testability. Once we
+ // have something that works, we should reevaluate each translation
+ // and try to push it down into tool specific logic.
+ AddDeploymentTarget(Args, DAL);
for (ArgList::const_iterator it = Args.begin(),
ie = Args.end(); it != ie; ++it) {
OpenPOWER on IntegriCloud