aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Tools.h
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-05-20 21:30:13 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-05-20 21:30:13 +0000
commit20a9aa50f9a7d4b03f97bc67e96da1d605c309a2 (patch)
tree42c4623f8870803cf29150167d624df8524f7c19 /lib/Driver/Tools.h
parentd2235f60e7bbd9e690c05fced371df9da76adc2b (diff)
Driver: Add a tool definition for the Clang integrated assembler.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@104280 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/Tools.h')
-rw-r--r--lib/Driver/Tools.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/Driver/Tools.h b/lib/Driver/Tools.h
index 86d1e0d8d1..576d3df3fd 100644
--- a/lib/Driver/Tools.h
+++ b/lib/Driver/Tools.h
@@ -26,6 +26,7 @@ namespace toolchains {
namespace tools {
+ /// \brief Clang compiler tool.
class LLVM_LIBRARY_VISIBILITY Clang : public Tool {
void AddPreprocessingOptions(const Driver &D,
const ArgList &Args,
@@ -54,6 +55,25 @@ namespace tools {
const char *LinkingOutput) const;
};
+ /// \brief Clang integrated assembler tool.
+ class LLVM_LIBRARY_VISIBILITY ClangAs : public Tool {
+ public:
+ ClangAs(const ToolChain &TC) : Tool("clang::as", TC) {}
+
+ virtual bool acceptsPipedInput() const { return true; }
+ virtual bool canPipeOutput() const { return true; }
+ virtual bool hasGoodDiagnostics() const { return true; }
+ virtual bool hasIntegratedAssembler() const { return false; }
+ virtual bool hasIntegratedCPP() const { return false; }
+
+ virtual void ConstructJob(Compilation &C, const JobAction &JA,
+ Job &Dest,
+ const InputInfo &Output,
+ const InputInfoList &Inputs,
+ const ArgList &TCArgs,
+ const char *LinkingOutput) const;
+ };
+
/// gcc - Generic GCC tool implementations.
namespace gcc {
class LLVM_LIBRARY_VISIBILITY Common : public Tool {