From 8e430ff8b060b4e8e922bae24b3c57837da6ea77 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Vedran=20Mileti=C4=87?= Date: Mon, 14 Nov 2016 12:17:42 +0100 Subject: [PATCH] clover: adapt to new error API since LLVM r286752 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Tested-by: Dieter Nützel --- .../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 8e89a49a9c0..5dcc4f8a48c 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; + ::llvm::handleAllErrors(std::move(err), [&](::llvm::ErrorInfoBase &EIB) { + msg = EIB.message(); + fail(r_log, error(CL_INVALID_PROGRAM), msg.c_str()); + }); + } return std::unique_ptr<::llvm::Module>(std::move(*mod)); } -- 2.30.2