================
@@ -9178,19 +9179,21 @@ void LinkerWrapper::ConstructJob(Compilation &C, const
JobAction &JA,
Linker->ConstructJob(C, JA, Output, Inputs, Args, LinkingOutput);
const auto &LinkCommand = C.getJobs().getJobs().back();
- // Forward -Xoffload-linker<-triple> arguments to the device link job.
- for (Arg *A : Args.filtered(options::OPT_Xoffload_linker)) {
+ for (Arg *A :
+ Args.filtered(options::OPT_Xoffload_compiler, OPT_Xoffload_linker)) {
StringRef Val = A->getValue(0);
+ bool IsLinkJob = A->getOption().getID() == OPT_Xoffload_linker;
+ auto WrapperOption =
+ IsLinkJob ? Twine("--device-linker=") : Twine("--device-compiler=");
if (Val.empty())
- CmdArgs.push_back(
- Args.MakeArgString(Twine("--device-linker=") + A->getValue(1)));
+ CmdArgs.push_back(Args.MakeArgString(WrapperOption + A->getValue(1)));
else
CmdArgs.push_back(Args.MakeArgString(
- "--device-linker=" +
+ WrapperOption +
ToolChain::getOpenMPTriple(Val.drop_front()).getTriple() + "=" +
A->getValue(1)));
}
- Args.ClaimAllArgs(options::OPT_Xoffload_linker);
+ Args.ClaimAllArgs(options::OPT_Xoffload_compiler);
----------------
linehill wrote:
My mistake - I'll fix it.
https://github.com/llvm/llvm-project/pull/168043
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits