From b76f6c2745f7afb5912ce13110f4e9bd2405f47b Mon Sep 17 00:00:00 2001 From: Boris Ulasevich Date: Thu, 15 Dec 2016 19:29:42 +0000 Subject: BrainF example: fixing segfault caused by outdated code with missing MCJIT dependency Differential Revision: https://reviews.llvm.org/D26280 llvm-svn: 289857 --- llvm/examples/BrainF/BrainFDriver.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'llvm/examples/BrainF/BrainFDriver.cpp') diff --git a/llvm/examples/BrainF/BrainFDriver.cpp b/llvm/examples/BrainF/BrainFDriver.cpp index 686f476cf46..57a86fbf521 100644 --- a/llvm/examples/BrainF/BrainFDriver.cpp +++ b/llvm/examples/BrainF/BrainFDriver.cpp @@ -29,6 +29,7 @@ #include "llvm/Bitcode/BitcodeWriter.h" #include "llvm/ExecutionEngine/ExecutionEngine.h" #include "llvm/ExecutionEngine/GenericValue.h" +#include "llvm/ExecutionEngine/MCJIT.h" #include "llvm/IR/BasicBlock.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DerivedTypes.h" @@ -153,10 +154,15 @@ int main(int argc, char **argv) { //Write it out if (JIT) { InitializeNativeTarget(); + InitializeNativeTargetAsmPrinter(); outs() << "------- Running JIT -------\n"; Module &M = *Mod; ExecutionEngine *ee = EngineBuilder(std::move(Mod)).create(); + if (!ee) { + errs() << "Error: execution engine creation failed.\n"; + abort(); + } std::vector args; Function *brainf_func = M.getFunction("brainf"); GenericValue gv = ee->runFunction(brainf_func, args); -- cgit v1.2.3