if (Record.empty())
return Error("Invalid FLOAT record");
if (CurTy == Type::FloatTy)
- V = ConstantFP::get(CurTy, APFloat((float)BitsToDouble(Record[0])));
+ V = ConstantFP::get(CurTy, APFloat(BitsToFloat(Record[0])));
else if (CurTy == Type::DoubleTy)
V = ConstantFP::get(CurTy, APFloat(BitsToDouble(Record[0])));
// FIXME: Make long double constants work. BitsToDouble does not make it.
} else if (const ConstantFP *CFP = dyn_cast<ConstantFP>(C)) {
Code = bitc::CST_CODE_FLOAT;
const Type *Ty = CFP->getType();
- if (Ty == Type::FloatTy) {
- Record.push_back(DoubleToBits((double)CFP->getValueAPF().
- convertToFloat()));
- } else if (Ty == Type::DoubleTy) {
+ if (Ty == Type::FloatTy)
+ Record.push_back(FloatToBits(CFP->getValueAPF().convertToFloat()));
+ else if (Ty == Type::DoubleTy) {
Record.push_back(DoubleToBits(CFP->getValueAPF().convertToDouble()));
// FIXME: make long double constants work.
} else if (Ty == Type::X86_FP80Ty ||