diff options
Diffstat (limited to 'lib/Support/APFloat.cpp')
-rw-r--r-- | lib/Support/APFloat.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/Support/APFloat.cpp b/lib/Support/APFloat.cpp index df65f112af..3e37d796b4 100644 --- a/lib/Support/APFloat.cpp +++ b/lib/Support/APFloat.cpp @@ -1727,12 +1727,11 @@ APFloat::convert(const fltSemantics &toSemantics, APInt::tcShiftLeft(significandParts(), newPartCount, shift); else if (shift < 0) APInt::tcShiftRight(significandParts(), newPartCount, -shift); - // If the new size is shorter, we lost information. - fs = (shift < 0) ? opInexact : opOK; // gcc forces the Quiet bit on, which means (float)(double)(float_sNan) // 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. + fs = opOK; } else { semantics = &toSemantics; fs = opOK; |