summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains/AIX.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Driver/ToolChains/AIX.h')
-rw-r--r--clang/lib/Driver/ToolChains/AIX.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/clang/lib/Driver/ToolChains/AIX.h b/clang/lib/Driver/ToolChains/AIX.h
index 58c06c3e441..69b948bc0ea 100644
--- a/clang/lib/Driver/ToolChains/AIX.h
+++ b/clang/lib/Driver/ToolChains/AIX.h
@@ -16,10 +16,21 @@ namespace clang {
namespace driver {
namespace tools {
-/// aix -- Directly call system default linker.
-// TODO: Enable direct call to system default assembler.
+/// aix -- Directly call system default assembler and linker.
namespace aix {
+class LLVM_LIBRARY_VISIBILITY Assembler : public Tool {
+public:
+ Assembler(const ToolChain &TC) : Tool("aix::Assembler", "assembler", TC) {}
+
+ bool hasIntegratedCPP() const override { return false; }
+
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
+};
+
class LLVM_LIBRARY_VISIBILITY Linker : public Tool {
public:
Linker(const ToolChain &TC) : Tool("aix::Linker", "linker", TC) {}
@@ -53,6 +64,7 @@ public:
bool isPICDefaultForced() const override { return true; }
protected:
+ Tool *buildAssembler() const override;
Tool *buildLinker() const override;
};
OpenPOWER on IntegriCloud