================ @@ -42,7 +42,21 @@ class LLVM_LIBRARY_VISIBILITY MetalConverter : public Tool { const llvm::opt::ArgList &TCArgs, const char *LinkingOutput) const override; }; + } // namespace hlsl + +class LLVM_LIBRARY_VISIBILITY LLVMObjcopy : public Tool { +public: + LLVMObjcopy(const ToolChain &TC) : Tool("LLVMObjcopy", "llvm-objcopy", 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; +}; ---------------- inbelic wrote:
While it is generic, the logic of `ConstructJob` is specific to just the `hlsl` toolchain. It is convention for the other toolchains to each redefine their own version of the struct with their namespace prefixed. See `Linker` etc. So I have added back the `hlsl` namespace to this struct. https://github.com/llvm/llvm-project/pull/154454 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits