aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/WindowsToolChain.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-03-19 00:36:57 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-03-19 00:36:57 +0000
commitc0a55d12caff98504eace18b553bb111160a8131 (patch)
tree31215894100535e05b891263716ba5102df6c442 /lib/Driver/WindowsToolChain.cpp
parent677e15ffee2ecc9c1c8f46fd77cab4b5afb59640 (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.cpp13
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);
}
}