llvm-rtdyld: Don't leak memory managers.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 3 Aug 2013 22:16:31 +0000 (22:16 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 3 Aug 2013 22:16:31 +0000 (22:16 +0000)
Dyld never outlives MemMgr, just put both on the stack.

llvm-svn: 187697

llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp

index b68f2a0..b93ac64 100644 (file)
@@ -124,8 +124,8 @@ static int printLineInfoForInput() {
     InputFileList.push_back("-");
   for(unsigned i = 0, e = InputFileList.size(); i != e; ++i) {
     // Instantiate a dynamic linker.
-    TrivialMemoryManager *MemMgr = new TrivialMemoryManager;
-    RuntimeDyld Dyld(MemMgr);
+    TrivialMemoryManager MemMgr;
+    RuntimeDyld Dyld(&MemMgr);
 
     // Load the input memory buffer.
     OwningPtr<MemoryBuffer> InputBuffer;
@@ -180,8 +180,8 @@ static int printLineInfoForInput() {
 
 static int executeInput() {
   // Instantiate a dynamic linker.
-  TrivialMemoryManager *MemMgr = new TrivialMemoryManager;
-  RuntimeDyld Dyld(MemMgr);
+  TrivialMemoryManager MemMgr;
+  RuntimeDyld Dyld(&MemMgr);
 
   // If we don't have any input files, read from stdin.
   if (!InputFileList.size())