Author: Joseph Huber Date: 2021-08-11T08:50:47-04:00 New Revision: 01d59c0de822099c62f12f275c41338f6df9f5ac
URL: https://github.com/llvm/llvm-project/commit/01d59c0de822099c62f12f275c41338f6df9f5ac DIFF: https://github.com/llvm/llvm-project/commit/01d59c0de822099c62f12f275c41338f6df9f5ac.diff LOG: [OpenMP]Fix PR50336: Remove temporary files in the offload bundler tool Temporary files created by the offloading device toolchain are not removed after compilation when using a two-step compilation. The offload-bundler uses a different filename for the device binary than the `.o` file present in the Job's input list. This is not listed as a temporary file so it is never removed. This patch explicitly adds the device binary as a temporary file to consume it. This fixes PR50336. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D107668 Added: Modified: clang/lib/Driver/ToolChains/Clang.cpp Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 956b31e18ef8..ceeae94e5667 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -7737,8 +7737,11 @@ void OffloadBundler::ConstructJob(Compilation &C, const JobAction &JA, assert(CurTC == nullptr && "Expected one dependence!"); CurTC = TC; }); + UB += C.addTempFile( + C.getArgs().MakeArgString(CurTC->getInputFilename(Inputs[I]))); + } else { + UB += CurTC->getInputFilename(Inputs[I]); } - UB += CurTC->getInputFilename(Inputs[I]); } CmdArgs.push_back(TCArgs.MakeArgString(UB)); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits