From 65609f2efa17916f77083a10a9a5239ff2fa1899 Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Mon, 6 Oct 2008 20:43:48 +0000 Subject: [PATCH] Temporarily revert functionality change from my previous patch; it is too aggressive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57203 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/APFloat.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/Support/APFloat.cpp b/lib/Support/APFloat.cpp index df65f112af0..3e37d796b41 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;