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);