gallivm: Fix build with LLVM >= 3.6 r215967.
authorVinson Lee <vlee@freedesktop.org>
Wed, 20 Aug 2014 06:17:40 +0000 (23:17 -0700)
committerMichel Dänzer <michel.daenzer@amd.com>
Wed, 20 Aug 2014 06:24:44 +0000 (15:24 +0900)
This LLVM 3.6 commit changed EngineBuilder constructor.

commit 3f4ed32b4398eaf4fe0080d8001ba01e6c2f43c8
Author: Rafael Espindola <rafael.espindola@gmail.com>
Date:   Tue Aug 19 04:04:25 2014 +0000

    Make it explicit that ExecutionEngine takes ownership of the modules.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215967 91177308-0d34-0410-b5e6-96231b3b80d8

Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com>
src/gallium/auxiliary/gallivm/lp_bld_misc.cpp

index 6bea96489222d660a17d0b984b264b6722e9fe59..55aa8b9bda7c7c33fa001bf709fa21b2a92e22bc 100644 (file)
@@ -421,7 +421,11 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT,
    using namespace llvm;
 
    std::string Error;
+#if HAVE_LLVM >= 0x0306
+   EngineBuilder builder(std::unique_ptr<Module>(unwrap(M)));
+#else
    EngineBuilder builder(unwrap(M));
+#endif
 
    /**
     * LLVM 3.1+ haven't more "extern unsigned llvm::StackAlignmentOverride" and