fix memleak in getTypeVal()
authorNuno Lopes <nunoplopes@sapo.pt>
Wed, 15 Oct 2008 11:19:34 +0000 (11:19 +0000)
committerNuno Lopes <nunoplopes@sapo.pt>
Wed, 15 Oct 2008 11:19:34 +0000 (11:19 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57574 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/llvmAsmParser.y

index 9b29cdd76c6f85c34332a11db12af3d5d842b124..54694d712cb0030eee43d5768a63c13bc1235ed1 100644 (file)
@@ -307,8 +307,10 @@ static const Type *getTypeVal(const ValID &D, bool DoNotImprovise = false) {
   }
 
   std::map<ValID, PATypeHolder>::iterator I =CurModule.LateResolveTypes.find(D);
-  if (I != CurModule.LateResolveTypes.end())
+  if (I != CurModule.LateResolveTypes.end()) {
+    D.destroy();
     return I->second;
+  }
 
   Type *Typ = OpaqueType::get();
   CurModule.LateResolveTypes.insert(std::make_pair(D, Typ));