Skip to content

Commit

Permalink
[LinkerWrapper][NFC] Clean-up error handling
Browse files Browse the repository at this point in the history
Summary:
We should return and propagate these errors instead of reporting them
immediately. Also use llvm::copy instead.
  • Loading branch information
jhuber6 committed Aug 18, 2022
1 parent 140b0bf commit ca6d70b
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Expand Up @@ -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);

Expand Down Expand Up @@ -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.
Expand All @@ -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));
}

Expand Down

0 comments on commit ca6d70b

Please sign in to comment.