[llvm-commits] [llvm] r58696 - in /llvm/trunk/lib/AsmParser: ParserInternals.h llvmAsmParser.y
Nuno Lopes
nunoplopes at sapo.pt
Tue Nov 4 06:42:20 PST 2008
Author: nlopes
Date: Tue Nov 4 08:42:19 2008
New Revision: 58696
URL: http://llvm.org/viewvc/llvm-project?rev=58696&view=rev
Log:
fix leakage of APFloats in getExistingVal()
Modified:
llvm/trunk/lib/AsmParser/ParserInternals.h
llvm/trunk/lib/AsmParser/llvmAsmParser.y
Modified: llvm/trunk/lib/AsmParser/ParserInternals.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/ParserInternals.h?rev=58696&r1=58695&r2=58696&view=diff
==============================================================================
--- llvm/trunk/lib/AsmParser/ParserInternals.h (original)
+++ llvm/trunk/lib/AsmParser/ParserInternals.h Tue Nov 4 08:42:19 2008
@@ -152,6 +152,8 @@
delete IAD;
else if (Type == ConstAPInt)
delete ConstPoolInt;
+ else if (Type == ConstFPVal)
+ delete ConstPoolFP;
}
inline ValID copy() const {
Modified: llvm/trunk/lib/AsmParser/llvmAsmParser.y
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/AsmParser/llvmAsmParser.y?rev=58696&r1=58695&r2=58696&view=diff
==============================================================================
--- llvm/trunk/lib/AsmParser/llvmAsmParser.y (original)
+++ llvm/trunk/lib/AsmParser/llvmAsmParser.y Tue Nov 4 08:42:19 2008
@@ -437,7 +437,11 @@
D.ConstPoolFP->convert(APFloat::IEEEsingle, APFloat::rmNearestTiesToEven,
&ignored);
}
- return ConstantFP::get(*D.ConstPoolFP);
+ {
+ ConstantFP *tmp = ConstantFP::get(*D.ConstPoolFP);
+ D.destroy();
+ return tmp;
+ }
case ValID::ConstNullVal: // Is it a null value?
if (!isa<PointerType>(Ty)) {
More information about the llvm-commits
mailing list