[llvm] [Offload] Ensure all `llvm::Error`s are handled (PR #137339)
Callum Fare via llvm-commits
llvm-commits at lists.llvm.org
Thu May 1 08:18:47 PDT 2025
================
@@ -308,9 +308,11 @@ ol_impl_result_t olMemAlloc_impl(ol_device_handle_t Device,
void **AllocationOut) {
auto Alloc =
Device->Device->dataAlloc(Size, nullptr, convertOlToPluginAllocTy(Type));
- if (!Alloc)
+ if (!Alloc) {
+ llvm::consumeError(Alloc.takeError());
return {OL_ERRC_OUT_OF_RESOURCES,
formatv("Could not create allocation on device {0}", Device).str()};
+ }
----------------
callumfare wrote:
`ol_result_t` is what's actually at the API boundaries (it's a pointer-to-struct). `ol_impl_result_t` is a helper type that converts to `ol_result_t` by putting the string and error code in global data structures and returning the pointer to ensure the lifetime is correct.
https://github.com/llvm/llvm-project/pull/137339
More information about the llvm-commits
mailing list