diff options
author | Boris Ulasevich <boris.ulasevich@gmail.com> | 2016-12-15 19:29:42 +0000 |
---|---|---|
committer | Boris Ulasevich <boris.ulasevich@gmail.com> | 2016-12-15 19:29:42 +0000 |
commit | b76f6c2745f7afb5912ce13110f4e9bd2405f47b (patch) | |
tree | 763491129def841c5075a9f47855aec51d296fda /llvm/examples/BrainF/BrainFDriver.cpp | |
parent | b0aa31bb25a255e3ac4df3bd2e7f64f14b8146c1 (diff) | |
download | bcm5719-llvm-b76f6c2745f7afb5912ce13110f4e9bd2405f47b.tar.gz bcm5719-llvm-b76f6c2745f7afb5912ce13110f4e9bd2405f47b.zip |
BrainF example: fixing segfault caused by outdated code with missing MCJIT dependency
Differential Revision: https://reviews.llvm.org/D26280
llvm-svn: 289857
Diffstat (limited to 'llvm/examples/BrainF/BrainFDriver.cpp')
-rw-r--r-- | llvm/examples/BrainF/BrainFDriver.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
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<GenericValue> args; Function *brainf_func = M.getFunction("brainf"); GenericValue gv = ee->runFunction(brainf_func, args); |