diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-03-19 00:36:57 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-03-19 00:36:57 +0000 |
commit | c0a55d12caff98504eace18b553bb111160a8131 (patch) | |
tree | 31215894100535e05b891263716ba5102df6c442 /lib/Driver/WindowsToolChain.cpp | |
parent | 677e15ffee2ecc9c1c8f46fd77cab4b5afb59640 (diff) |
Finish refactoring the tool selection logic.
The general pattern now is that Foobar::constructTool only creates tools
defined in the tools::foobar namespace and then delegates to the parent.
The remaining duplicated code is now in the tools themselves.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177368 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/WindowsToolChain.cpp')
-rw-r--r-- | lib/Driver/WindowsToolChain.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/lib/Driver/WindowsToolChain.cpp b/lib/Driver/WindowsToolChain.cpp index 0909c4c217..b3fdb35d4c 100644 --- a/lib/Driver/WindowsToolChain.cpp +++ b/lib/Driver/WindowsToolChain.cpp @@ -38,17 +38,6 @@ Windows::Windows(const Driver &D, const llvm::Triple& Triple, Tool *Windows::constructTool(Action::ActionClass AC) const { switch (AC) { - case Action::InputClass: - case Action::BindArchClass: - case Action::LipoJobClass: - case Action::DsymutilJobClass: - case Action::VerifyJobClass: - case Action::PreprocessJobClass: - case Action::PrecompileJobClass: - case Action::AnalyzeJobClass: - case Action::MigrateJobClass: - case Action::CompileJobClass: - return new tools::Clang(*this); case Action::AssembleJobClass: if (getTriple().getEnvironment() == llvm::Triple::MachO) return new tools::darwin::Assemble(*this); @@ -56,6 +45,8 @@ Tool *Windows::constructTool(Action::ActionClass AC) const { break; case Action::LinkJobClass: return new tools::visualstudio::Link(*this); + default: + return ToolChain::constructTool(AC); } } |