Author: Joseph Huber Date: 2023-01-12T10:49:27-06:00 New Revision: 77c5eac2aa9b9b1a12850295abf84d51f87745de
URL: https://github.com/llvm/llvm-project/commit/77c5eac2aa9b9b1a12850295abf84d51f87745de DIFF: https://github.com/llvm/llvm-project/commit/77c5eac2aa9b9b1a12850295abf84d51f87745de.diff LOG: [LinkerWrapper] Fix errors from missing files during a dry run Summary: We use a dry run for testing. If we do a dry run there is no file to open and try to embed. Intead of erroring just create an empty one. Added: Modified: clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp Removed: ################################################################################ diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp index a6e127c34034f..294a84b929b7d 100644 --- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp +++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp @@ -1187,8 +1187,12 @@ linkAndWrapDeviceFiles(SmallVectorImpl<OffloadFile> &LinkerInputFiles, for (OffloadKind Kind : ActiveOffloadKinds) { llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> FileOrErr = llvm::MemoryBuffer::getFileOrSTDIN(*OutputOrErr); - if (std::error_code EC = FileOrErr.getError()) - return createFileError(*OutputOrErr, EC); + if (std::error_code EC = FileOrErr.getError()) { + if (DryRun) + FileOrErr = MemoryBuffer::getMemBuffer(""); + else + return createFileError(*OutputOrErr, EC); + } OffloadingImage TheImage{}; TheImage.TheImageKind = _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits