From 9be681366a2e6aa988218e6339cc501c492b65b0 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Thu, 19 Feb 2015 19:06:04 +0000 Subject: [PATCH] [orcjit] Include CMake support for the fully_lazy example and fix the build Not sure if/how to make the CMake build use C++14 for the examples, so let's stick to C++11 for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229888 91177308-0d34-0410-b5e6-96231b3b80d8 --- examples/Kaleidoscope/Orc/CMakeLists.txt | 1 + examples/Kaleidoscope/Orc/fully_lazy/CMakeLists.txt | 3 ++- examples/Kaleidoscope/Orc/fully_lazy/toy.cpp | 10 +++++----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/examples/Kaleidoscope/Orc/CMakeLists.txt b/examples/Kaleidoscope/Orc/CMakeLists.txt index e4cf0c2aa1b..5aa04543dc6 100644 --- a/examples/Kaleidoscope/Orc/CMakeLists.txt +++ b/examples/Kaleidoscope/Orc/CMakeLists.txt @@ -1,3 +1,4 @@ add_subdirectory(initial) add_subdirectory(lazy_codegen) add_subdirectory(lazy_irgen) +add_subdirectory(fully_lazy) diff --git a/examples/Kaleidoscope/Orc/fully_lazy/CMakeLists.txt b/examples/Kaleidoscope/Orc/fully_lazy/CMakeLists.txt index 44886818e0f..abb0428a152 100644 --- a/examples/Kaleidoscope/Orc/fully_lazy/CMakeLists.txt +++ b/examples/Kaleidoscope/Orc/fully_lazy/CMakeLists.txt @@ -2,11 +2,12 @@ set(LLVM_LINK_COMPONENTS Core ExecutionEngine Object + OrcJIT RuntimeDyld Support native ) -add_kaleidoscope_chapter(Kaleidoscope-Orc-lazy_irgen +add_kaleidoscope_chapter(Kaleidoscope-Orc-fully_lazy toy.cpp ) diff --git a/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp b/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp index f29a6f52f18..b1aca7803da 100644 --- a/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp +++ b/examples/Kaleidoscope/Orc/fully_lazy/toy.cpp @@ -1280,11 +1280,11 @@ private: // // The update action will update FunctionBodyPointer to point at the newly // compiled function. - CallbackInfo.setCompileAction( - [this, Fn = std::shared_ptr(std::move(FnAST))](){ - auto H = addModule(IRGen(Session, *Fn)); - return findSymbolIn(H, Fn->Proto->Name).getAddress(); - }); + std::shared_ptr Fn = std::move(FnAST); + CallbackInfo.setCompileAction([this, Fn]() { + auto H = addModule(IRGen(Session, *Fn)); + return findSymbolIn(H, Fn->Proto->Name).getAddress(); + }); CallbackInfo.setUpdateAction( CompileCallbacks.getLocalFPUpdater(H, Mangle(BodyPtrName))); -- 2.34.1