mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-15 06:29:05 +00:00
fix leakage of APFloats in getExistingVal()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58696 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -152,6 +152,8 @@ struct ValID {
|
||||
delete IAD;
|
||||
else if (Type == ConstAPInt)
|
||||
delete ConstPoolInt;
|
||||
else if (Type == ConstFPVal)
|
||||
delete ConstPoolFP;
|
||||
}
|
||||
|
||||
inline ValID copy() const {
|
||||
|
@@ -437,7 +437,11 @@ static Value *getExistingVal(const Type *Ty, const ValID &D) {
|
||||
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)) {
|
||||
|
Reference in New Issue
Block a user