bool isExactlyValue(const APFloat& V) const;
bool isExactlyValue(double V) const {
+ bool ignored;
// convert is not supported on this type
if (&Val.getSemantics() == &APFloat::PPCDoubleDouble)
return false;
APFloat FV(V);
- FV.convert(Val.getSemantics(), APFloat::rmNearestTiesToEven);
+ FV.convert(Val.getSemantics(), APFloat::rmNearestTiesToEven, &ignored);
return isExactlyValue(FV);
}
/// Methods for support type inquiry through isa, cast, and dyn_cast:
/// getWithOperands - This returns the current constant expression with the
/// operands replaced with the specified values. The specified operands must
/// match count and type with the existing ones.
- Constant *getWithOperands(const std::vector<Constant*> &Ops) const;
+ Constant *getWithOperands(const std::vector<Constant*> &Ops) const {
+ return getWithOperands(&Ops[0], (unsigned)Ops.size());
+ }
+ Constant *getWithOperands(Constant* const *Ops, unsigned NumOps) const;
virtual void destroyConstant();
virtual void replaceUsesOfWithOnConstant(Value *From, Value *To, Use *U);