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));
>  }

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
mesa-dev mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to