Make it explicit that ExecutionEngine takes ownership of the modules.
[oota-llvm.git] / examples / ParallelJIT / ParallelJIT.cpp
index 2aa63d91ffb364692c4c50ef51af2660584efab6..b05e518ec410c7925959988c6af9581bc8ba0bc2 100644 (file)
@@ -243,13 +243,14 @@ int main() {
   LLVMContext Context;
 
   // Create some module to put our function into it.
-  Module *M = new Module("test", Context);
+  std::unique_ptr<Module> Owner = make_unique<Module>("test", Context);
+  Module *M = Owner.get();
 
   Function* add1F = createAdd1( M );
   Function* fibF = CreateFibFunction( M );
 
   // Now we create the JIT.
-  ExecutionEngine* EE = EngineBuilder(M).create();
+  ExecutionEngine* EE = EngineBuilder(std::move(Owner)).create();
 
   //~ std::cout << "We just constructed this LLVM module:\n\n" << *M;
   //~ std::cout << "\n\nRunning foo: " << std::flush;