[Mesa-dev] [PATCH] clover: adapt to new error API since LLVM r286752
Jan Vesely
jan.vesely at rutgers.edu
Mon Nov 14 16:31:23 UTC 2016
On Mon, 2016-11-14 at 12:17 +0100, Vedran Miletić wrote:
> ---
> src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp b/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp
> index 8e89a49..5dcc4f8 100644
> --- a/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp
> +++ b/src/gallium/state_trackers/clover/llvm/codegen/bitcode.cpp
> @@ -98,8 +98,14 @@ clover::llvm::parse_module_library(const module &m, ::llvm::LLVMContext &ctx,
> std::string &r_log) {
> auto mod = ::llvm::parseBitcodeFile(::llvm::MemoryBufferRef(
> as_string(m.secs[0].data), " "), ctx);
> - if (!mod)
> - fail(r_log, error(CL_INVALID_PROGRAM), mod.getError().message());
> +
> + if (::llvm::Error err = mod.takeError()) {
> + std::string msg;
Any particular reason to keep this outside of the function?
> + ::llvm::handleAllErrors(std::move(err), [&](::llvm::ErrorInfoBase &EIB) {
> + msg = EIB.message();
> + fail(r_log, error(CL_INVALID_PROGRAM), msg.c_str());
This could be EIB.message().c_str(), but that's just bikeshedding.
Jan
> + });
> + }
>
> return std::unique_ptr<::llvm::Module>(std::move(*mod));
> }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20161114/16cec8a8/attachment.sig>
More information about the mesa-dev
mailing list