summaryrefslogtreecommitdiff
path: root/clang/lib/Driver/ToolChains/SPIRV.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Driver/ToolChains/SPIRV.h')
-rw-r--r--clang/lib/Driver/ToolChains/SPIRV.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/SPIRV.h b/clang/lib/Driver/ToolChains/SPIRV.h
index 229f7018e3b5..a16ae3ca51fa 100644
--- a/clang/lib/Driver/ToolChains/SPIRV.h
+++ b/clang/lib/Driver/ToolChains/SPIRV.h
@@ -39,6 +39,17 @@ public:
const char *LinkingOutput) const override;
};
+class LLVM_LIBRARY_VISIBILITY Linker : public Tool {
+public:
+ Linker(const ToolChain &TC) : Tool("SPIRV::Linker", "spirv-link", TC) {}
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
+};
+
} // namespace SPIRV
} // namespace tools
@@ -68,6 +79,7 @@ public:
protected:
clang::driver::Tool *getTool(Action::ActionClass AC) const override;
+ Tool *buildLinker() const override;
private:
clang::driver::Tool *getTranslator() const;