forked from OSchip/llvm-project
fix leakage of APFloats in getExistingVal()
llvm-svn: 58696
This commit is contained in:
parent
97a9c81b05
commit
0e92081b04
|
@ -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)) {
|
||||
|
|
Loading…
Reference in New Issue