From a2dd501c112ae54272c8b19f0afacc3f46c69a53 Mon Sep 17 00:00:00 2001 From: Anton Mitrokhin Date: Tue, 23 Jun 2015 18:19:39 +0300 Subject: [PATCH] Fix trunk buildfail after LLVM revision 239858 --- builtins.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/builtins.cpp b/builtins.cpp index a29bee0e..2ad10fe8 100644 --- a/builtins.cpp +++ b/builtins.cpp @@ -788,13 +788,19 @@ AddBitcodeToModule(const unsigned char *bitcode, int length, llvm::MemoryBufferRef bcBuf = llvm::MemoryBuffer::getMemBuffer(sb)->getMemBufferRef(); #endif -#if ISPC_LLVM_VERSION >= ISPC_LLVM_3_5 +#if ISPC_LLVM_VERSION >= ISPC_LLVM_3_7 // LLVM 3.7+ + llvm::ErrorOr> ModuleOrErr = llvm::parseBitcodeFile(bcBuf, *g->ctx); + if (std::error_code EC = ModuleOrErr.getError()) + Error(SourcePos(), "Error parsing stdlib bitcode: %s", EC.message().c_str()); + else { + llvm::Module *bcModule = ModuleOrErr.get().release(); +#elif ISPC_LLVM_VERSION == ISPC_LLVM_3_5 || ISPC_LLVM_VERSION == ISPC_LLVM_3_6 llvm::ErrorOr ModuleOrErr = llvm::parseBitcodeFile(bcBuf, *g->ctx); if (std::error_code EC = ModuleOrErr.getError()) Error(SourcePos(), "Error parsing stdlib bitcode: %s", EC.message().c_str()); else { llvm::Module *bcModule = ModuleOrErr.get(); -#else +#else // LLVM 3.2 - 3.4 std::string bcErr; llvm::Module *bcModule = llvm::ParseBitcodeFile(bcBuf, *g->ctx, &bcErr); if (!bcModule)