[llvm] [Offload] Use new error code handling mechanism (PR #139275)

Joseph Huber via llvm-commits llvm-commits at lists.llvm.org
Fri May 9 07:55:59 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;
----------------
jhuber6 wrote:

Can we make this a common utility? Seems like it may show up in other places.

https://github.com/llvm/llvm-project/pull/139275


More information about the llvm-commits mailing list