[llvm-commits] [llvm] r79540 - in /llvm/trunk: lib/Support/APFloat.cpp unittests/ADT/APFloatTest.cpp

Daniel Dunbar daniel at zuster.org
Thu Aug 20 10:12:33 PDT 2009


Author: ddunbar
Date: Thu Aug 20 12:12:33 2009
New Revision: 79540

URL: http://llvm.org/viewvc/llvm-project?rev=79540&view=rev
Log:
Fix two APFloat bugs in converting hexadecimal constants.

Modified:
    llvm/trunk/lib/Support/APFloat.cpp
    llvm/trunk/unittests/ADT/APFloatTest.cpp

Modified: llvm/trunk/lib/Support/APFloat.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/APFloat.cpp?rev=79540&r1=79539&r2=79540&view=diff

==============================================================================
--- llvm/trunk/lib/Support/APFloat.cpp (original)
+++ llvm/trunk/lib/Support/APFloat.cpp Thu Aug 20 12:12:33 2009
@@ -2153,7 +2153,7 @@
     integerPart hex_value;
 
     if(*p == '.') {
-      assert(dot == 0);
+      assert(dot == s.end());
       dot = p++;
     }
 
@@ -2190,7 +2190,7 @@
     int expAdjustment;
 
     /* Implicit hexadecimal point?  */
-    if(!dot)
+    if (dot == s.end())
       dot = p;
 
     /* Calculate the exponent adjustment implicit in the number of

Modified: llvm/trunk/unittests/ADT/APFloatTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/APFloatTest.cpp?rev=79540&r1=79539&r2=79540&view=diff

==============================================================================
--- llvm/trunk/unittests/ADT/APFloatTest.cpp (original)
+++ llvm/trunk/unittests/ADT/APFloatTest.cpp Thu Aug 20 12:12:33 2009
@@ -60,6 +60,8 @@
   EXPECT_EQ(0.0,  APFloat(APFloat::IEEEdouble, "0x0000.00000p1234").convertToDouble());
   EXPECT_EQ(0.0,  APFloat(APFloat::IEEEdouble, "0x.00000p1234").convertToDouble());
   EXPECT_EQ(0.0,  APFloat(APFloat::IEEEdouble, "0x0.p1234").convertToDouble());
+  EXPECT_EQ(1.0625,  APFloat(APFloat::IEEEdouble, "0x1.1p0").convertToDouble());
+  EXPECT_EQ(1.0,  APFloat(APFloat::IEEEdouble, "0x1p0").convertToDouble());
 
   EXPECT_EQ(0.0,  APFloat(APFloat::IEEEdouble, StringRef("0e1\02", 3)).convertToDouble());
 }





More information about the llvm-commits mailing list