================
@@ -171,11 +215,12 @@ class OffloadFile : public OwningBinary<OffloadBinary> {
         getBinary()->getMemoryBufferRef().getBufferIdentifier());
 
     // This parsing should never fail because it has already been parsed.
-    auto NewBinaryOrErr = OffloadBinary::create(*Buffer);
+    auto NewBinaryOrErr =
+        OffloadBinary::create(*Buffer, getBinary()->getIndex());
     assert(NewBinaryOrErr && "Failed to parse a copy of the binary?");
     if (!NewBinaryOrErr)
       llvm::consumeError(NewBinaryOrErr.takeError());
-    return OffloadFile(std::move(*NewBinaryOrErr), std::move(Buffer));
+    return OffloadFile(std::move(NewBinaryOrErr.get()[0]), std::move(Buffer));
----------------
YuriPlyakhin wrote:

Create returns `Expected<SmallVector<std::unique_ptr<OffloadBinary>>>`, so 
`NewBinaryOrErr.get()` is `SmallVector<std::unique_ptr<OffloadBinary>>` and we 
need to use `[0]` to access first element.

https://github.com/llvm/llvm-project/pull/169425
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to