OSDN Git Service

fix more memleaks in ResolveTypeTo() and ParseGlobalVariable()
authorNuno Lopes <nunoplopes@sapo.pt>
Fri, 3 Oct 2008 15:51:46 +0000 (15:51 +0000)
committerNuno Lopes <nunoplopes@sapo.pt>
Fri, 3 Oct 2008 15:51:46 +0000 (15:51 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57008 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/llvmAsmParser.y

index 1a84584..608ed72 100644 (file)
@@ -707,6 +707,7 @@ static void ResolveTypeTo(std::string *Name, const Type *ToTy) {
     ((DerivedType*)I->second.get())->refineAbstractTypeTo(ToTy);
     CurModule.LateResolveTypes.erase(I);
   }
+  D.destroy();
 }
 
 // setValueName - Set the specified value to the name given.  The name may be
@@ -782,9 +783,12 @@ ParseGlobalVariable(std::string *NameStr,
     GV->setConstant(isConstantGlobal);
     GV->setThreadLocal(IsThreadLocal);
     InsertValue(GV, CurModule.Values);
+    ID.destroy();
     return GV;
   }
 
+  ID.destroy();
+
   // If this global has a name
   if (!Name.empty()) {
     // if the global we're parsing has an initializer (is a definition) and