summaryrefslogtreecommitdiffstats
path: root/clang/examples/clang-interpreter/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/examples/clang-interpreter/main.cpp')
-rw-r--r--clang/examples/clang-interpreter/main.cpp11
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;
OpenPOWER on IntegriCloud