Author: Joseph Huber Date: 2022-08-18T15:01:01-04:00 New Revision: ca6d70b32effe51a8d1654efe93154e7b96dcc23
URL: https://github.com/llvm/llvm-project/commit/ca6d70b32effe51a8d1654efe93154e7b96dcc23 DIFF: https://github.com/llvm/llvm-project/commit/ca6d70b32effe51a8d1654efe93154e7b96dcc23.diff LOG: [LinkerWrapper][NFC] Clean-up error handling Summary: We should return and propagate these errors instead of reporting them immediately. Also use llvm::copy instead. 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 622266ec7a745..f9d2c7710c77d 100644 --- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp +++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp @@ -1072,8 +1072,7 @@ Expected<StringRef> writeOffloadFile(const OffloadFile &File) { if (!OutputOrErr) return OutputOrErr.takeError(); std::unique_ptr<FileOutputBuffer> Output = std::move(*OutputOrErr); - std::copy(Binary.getImage().bytes_begin(), Binary.getImage().bytes_end(), - Output->getBufferStart()); + llvm::copy(Binary.getImage(), Output->getBufferStart()); if (Error E = Output->commit()) return std::move(E); @@ -1419,13 +1418,13 @@ Expected<SmallVector<OffloadFile>> getDeviceInput(const ArgList &Args) { ErrorOr<std::unique_ptr<MemoryBuffer>> BufferOrErr = MemoryBuffer::getFileOrSTDIN(Filename); if (std::error_code EC = BufferOrErr.getError()) - reportError(createFileError(Filename, EC)); + return createFileError(Filename, EC); bool IsLazy = identify_magic((*BufferOrErr)->getBuffer()) == file_magic::archive; if (Error Err = extractFromBuffer(std::move(*BufferOrErr), IsLazy ? LazyInputFiles : InputFiles)) - reportError(std::move(Err)); + return std::move(Err); } // Try to extract input from input libraries. @@ -1438,14 +1437,14 @@ Expected<SmallVector<OffloadFile>> getDeviceInput(const ArgList &Args) { if (Error Err = extractFromBuffer(std::move(*BufferOrErr), LazyInputFiles)) - reportError(std::move(Err)); + return std::move(Err); } } for (StringRef Library : Args.getAllArgValues(OPT_bitcode_library_EQ)) { auto FileOrErr = getInputBitcodeLibrary(Library); if (!FileOrErr) - reportError(FileOrErr.takeError()); + return FileOrErr.takeError(); InputFiles.push_back(std::move(*FileOrErr)); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits