diff options
author | Daniel Dunbar <daniel@zuster.org> | 2010-07-19 17:11:33 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2010-07-19 17:11:33 +0000 |
commit | b2b8a91aa45811627a2f365762bb2afbebee3421 (patch) | |
tree | 99b2638d17d38dc13755d0a63989dd02db841cdd /clang/lib/Driver/ToolChains.cpp | |
parent | 549c1cd2c5f411d1d53c563dfda1de6af0614547 (diff) | |
download | bcm5719-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.cpp | 26 |
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) { |