Driver: Add name to Tool (for testing/debugging) and move GCC_* tools
into gcc:: namespace.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67120 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/Tool.cpp b/lib/Driver/Tool.cpp
index 090418e..6f6589a 100644
--- a/lib/Driver/Tool.cpp
+++ b/lib/Driver/Tool.cpp
@@ -11,7 +11,8 @@
using namespace clang::driver;
-Tool::Tool(const ToolChain &TC) : TheToolChain(TC) {
+Tool::Tool(const char *_Name, const ToolChain &TC) : Name(_Name),
+ TheToolChain(TC) {
}
Tool::~Tool() {
diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
index c5e01ba..aa8d2a1 100644
--- a/lib/Driver/ToolChains.h
+++ b/lib/Driver/ToolChains.h
@@ -47,17 +47,17 @@
default:
assert(0 && "Invalid tool kind.");
case Action::PreprocessJobClass:
- T = new tools::GCC_Preprocess(*this); break;
+ T = new tools::gcc::Preprocess(*this); break;
case Action::PrecompileJobClass:
- T = new tools::GCC_Precompile(*this); break;
+ T = new tools::gcc::Precompile(*this); break;
case Action::AnalyzeJobClass:
T = new tools::Clang(*this); break;
case Action::CompileJobClass:
- T = new tools::GCC_Compile(*this); break;
+ T = new tools::gcc::Compile(*this); break;
case Action::AssembleJobClass:
- T = new tools::GCC_Assemble(*this); break;
+ T = new tools::gcc::Assemble(*this); break;
case Action::LinkJobClass:
- T = new tools::GCC_Assemble(*this); break;
+ T = new tools::gcc::Link(*this); break;
}
}
diff --git a/lib/Driver/Tools.h b/lib/Driver/Tools.h
index 6f6b3df..6aaa040 100644
--- a/lib/Driver/Tools.h
+++ b/lib/Driver/Tools.h
@@ -20,57 +20,60 @@
class VISIBILITY_HIDDEN Clang : public Tool {
public:
- Clang(const ToolChain &TC) : Tool(TC) {}
+ Clang(const ToolChain &TC) : Tool("clang", TC) {}
virtual bool acceptsPipedInput() const { return true; }
virtual bool canPipeOutput() const { return true; }
virtual bool hasIntegratedCPP() const { return true; }
};
- class VISIBILITY_HIDDEN GCC_Preprocess : public Tool {
+ /// gcc - Generic GCC tool implementations.
+namespace gcc {
+ class VISIBILITY_HIDDEN Preprocess : public Tool {
public:
- GCC_Preprocess(const ToolChain &TC) : Tool(TC) {}
+ Preprocess(const ToolChain &TC) : Tool("gcc::Preprocess", TC) {}
virtual bool acceptsPipedInput() const { return true; }
virtual bool canPipeOutput() const { return true; }
virtual bool hasIntegratedCPP() const { return false; }
};
- class VISIBILITY_HIDDEN GCC_Precompile : public Tool {
+ class VISIBILITY_HIDDEN Precompile : public Tool {
public:
- GCC_Precompile(const ToolChain &TC) : Tool(TC) {}
+ Precompile(const ToolChain &TC) : Tool("gcc::Precompile", TC) {}
virtual bool acceptsPipedInput() const { return true; }
virtual bool canPipeOutput() const { return false; }
virtual bool hasIntegratedCPP() const { return true; }
};
- class VISIBILITY_HIDDEN GCC_Compile : public Tool {
+ class VISIBILITY_HIDDEN Compile : public Tool {
public:
- GCC_Compile(const ToolChain &TC) : Tool(TC) {}
+ Compile(const ToolChain &TC) : Tool("gcc::Compile", TC) {}
virtual bool acceptsPipedInput() const { return true; }
virtual bool canPipeOutput() const { return true; }
virtual bool hasIntegratedCPP() const { return true; }
};
- class VISIBILITY_HIDDEN GCC_Assemble : public Tool {
+ class VISIBILITY_HIDDEN Assemble : public Tool {
public:
- GCC_Assemble(const ToolChain &TC) : Tool(TC) {}
+ Assemble(const ToolChain &TC) : Tool("gcc::Assemble", TC) {}
virtual bool acceptsPipedInput() const { return true; }
virtual bool canPipeOutput() const { return false; }
virtual bool hasIntegratedCPP() const { return false; }
};
- class VISIBILITY_HIDDEN GCC_Link : public Tool {
+ class VISIBILITY_HIDDEN Link : public Tool {
public:
- GCC_Link(const ToolChain &TC) : Tool(TC) {}
+ Link(const ToolChain &TC) : Tool("gcc::Link", TC) {}
virtual bool acceptsPipedInput() const { return false; }
virtual bool canPipeOutput() const { return false; }
virtual bool hasIntegratedCPP() const { return false; }
};
+} // end namespace gcc
} // end namespace toolchains
} // end namespace driver