Handle zero correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44613 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/APFloat.cpp b/lib/Support/APFloat.cpp
index d713223..f0707fc 100644
--- a/lib/Support/APFloat.cpp
+++ b/lib/Support/APFloat.cpp
@@ -231,8 +231,8 @@
      is taken to have the decimal point after a single leading
      non-zero digit.
 
-     If the value is zero, V->firstSigDigit points to a zero, and the
-     return exponent is zero.
+     If the value is zero, V->firstSigDigit points to a non-digit, and
+     the return exponent is zero.
   */
   struct decimalInfo {
     const char *firstSigDigit;
@@ -263,7 +263,7 @@
     }
 
     /* If number is all zerooes accept any exponent.  */
-    if (p != D->firstSigDigit) {
+    if (decDigitValue(*p) >= 10U) {
       if (*p == 'e' || *p == 'E')
         D->exponent = readExponent(p + 1);