mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Chris' change to print an approximation to long doubles
exposed a bug in APFloat's long double->double conversion of NaNs. Broke several things in the ieee part of gcc testsuite. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46617 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
713a13906a
commit
b63fa050b7
@ -1712,6 +1712,8 @@ APFloat::convert(const fltSemantics &toSemantics,
|
||||
fs = normalize(rounding_mode, lostFraction);
|
||||
} else if (category == fcNaN) {
|
||||
int shift = toSemantics.precision - semantics->precision;
|
||||
// Do this now so significandParts gets the right answer
|
||||
semantics = &toSemantics;
|
||||
// No normalization here, just truncate
|
||||
if (shift>0)
|
||||
APInt::tcShiftLeft(significandParts(), newPartCount, shift);
|
||||
@ -1721,7 +1723,6 @@ APFloat::convert(const fltSemantics &toSemantics,
|
||||
// does not give you back the same bits. This is dubious, and we
|
||||
// don't currently do it. You're really supposed to get
|
||||
// an invalid operation signal at runtime, but nobody does that.
|
||||
semantics = &toSemantics;
|
||||
fs = opOK;
|
||||
} else {
|
||||
semantics = &toSemantics;
|
||||
|
Loading…
Reference in New Issue
Block a user