summaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.y
diff options
context:
space:
mode:
authorNuno Lopes <nunoplopes@sapo.pt>2008-10-15 11:19:34 +0000
committerNuno Lopes <nunoplopes@sapo.pt>2008-10-15 11:19:34 +0000
commitee87b3b6d99d103499181401987829dd789db7e4 (patch)
treecf08e0c0bed05c89e5443a021692e66dc984d08e /lib/AsmParser/llvmAsmParser.y
parent6ec8a25b270126cae185a247155f3d7a56ab519b (diff)
downloadllvm-ee87b3b6d99d103499181401987829dd789db7e4.tar.gz
llvm-ee87b3b6d99d103499181401987829dd789db7e4.tar.bz2
llvm-ee87b3b6d99d103499181401987829dd789db7e4.tar.xz
fix memleak in getTypeVal()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57574 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.y')
-rw-r--r--lib/AsmParser/llvmAsmParser.y4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index 9b29cdd76c..54694d712c 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -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));