[llvm] [Offload] Use new error code handling mechanism (PR #139275)
Ross Brunton via llvm-commits
llvm-commits at lists.llvm.org
Fri May 9 09:12:31 PDT 2025
================
@@ -32,7 +32,16 @@ GenericGlobalHandlerTy::getELFObjectFile(DeviceImageTy &Image) {
assert(utils::elf::isELF(Image.getMemoryBuffer().getBuffer()) &&
"Input is not an ELF file");
- return ELFObjectFileBase::createELFObjectFile(Image.getMemoryBuffer());
+ auto Expected =
+ ELFObjectFileBase::createELFObjectFile(Image.getMemoryBuffer());
+ if (!Expected) {
+ return handleErrors(Expected.takeError(), [](llvm::StringError &Err) {
+ return llvm::createStringError(ErrorCode::INVALID_BINARY,
+ "Error parsing binary: " +
+ Err.getMessage());
+ });
+ }
+ return Expected;
----------------
RossBrunton wrote:
I've added a new overload of `Plugin::error` which accepts an `llvm::Error` and a context. If it is given a non-string error, it just has `Context` as its error message. If it is a string error, its error message is in the form `${Context}: ${Message}`.
https://github.com/llvm/llvm-project/pull/139275
More information about the llvm-commits
mailing list