diff options
Diffstat (limited to 'clang/examples/clang-interpreter/main.cpp')
-rw-r--r-- | clang/examples/clang-interpreter/main.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/clang/examples/clang-interpreter/main.cpp b/clang/examples/clang-interpreter/main.cpp index 8b8ccfdf70a..8278d28cf41 100644 --- a/clang/examples/clang-interpreter/main.cpp +++ b/clang/examples/clang-interpreter/main.cpp @@ -42,12 +42,19 @@ std::string GetExecutablePath(const char *Argv0) { return llvm::sys::fs::getMainExecutable(Argv0, MainAddr); } +static llvm::ExecutionEngine *createExecutionEngine(llvm::Module *M, + std::string *ErrorStr) { + llvm::EngineBuilder EB = llvm::EngineBuilder(M) + .setEngineKind(llvm::EngineKind::Either) + .setErrorStr(ErrorStr); + return EB.create(); +} + static int Execute(llvm::Module *Mod, char * const *envp) { llvm::InitializeNativeTarget(); std::string Error; - std::unique_ptr<llvm::ExecutionEngine> EE( - llvm::ExecutionEngine::create(Mod, /*ForceInterpreter*/ false, &Error)); + std::unique_ptr<llvm::ExecutionEngine> EE(createExecutionEngine(Mod, &Error)); if (!EE) { llvm::errs() << "unable to make execution engine: " << Error << "\n"; return 255; |