diff options
Diffstat (limited to 'backend/src/llvm/llvm_bitcode_link.cpp')
-rw-r--r-- | backend/src/llvm/llvm_bitcode_link.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/backend/src/llvm/llvm_bitcode_link.cpp b/backend/src/llvm/llvm_bitcode_link.cpp index d3058d6c..8eb6dd52 100644 --- a/backend/src/llvm/llvm_bitcode_link.cpp +++ b/backend/src/llvm/llvm_bitcode_link.cpp @@ -38,11 +38,7 @@ #include "sys/cvar.hpp" #include "src/GBEConfig.h" #include "llvm/llvm_gen_backend.hpp" -#if LLVM_VERSION_MINOR >= 5 -#include "llvm/Linker/Linker.h" -#else -#include "llvm/Linker.h" -#endif +#include "llvm-c/Linker.h" using namespace llvm; @@ -110,10 +106,10 @@ namespace gbe if (!newMF) { newMF = src.getFunction(fnName); if (!newMF) { - printf("Can not find the lib: %s\n", fnName.c_str()); - return false; + printf("Can not find the lib: %s\n", fnName.c_str()); + return false; } - fromSrc = true; + fromSrc = true; } std::string ErrInfo;// = "Not Materializable"; @@ -226,10 +222,10 @@ namespace gbe /* We use beignet's bitcode as dst because it will have a lot of lazy functions which will not be loaded. */ - std::string errorMsg; - if(Linker::LinkModules(clonedLib, mod, Linker::DestroySource, &errorMsg)) { + char* errorMsg; + if(LLVMLinkModules(wrap(clonedLib), wrap(mod), LLVMLinkerDestroySource, &errorMsg)) { delete clonedLib; - printf("Fatal Error: link the bitcode error:\n%s\n", errorMsg.c_str()); + printf("Fatal Error: link the bitcode error:\n%s\n", errorMsg); return NULL; } |