From: Michael Gottesman Date: Tue, 2 Jul 2013 15:50:05 +0000 (+0000) Subject: [APFloat] Swap an early out check so we do not dereference str.end(). X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c93bee09ac0ebfad4efd7a7d195ce586d9ad50ed;p=oota-llvm.git [APFloat] Swap an early out check so we do not dereference str.end(). Originally if D.firstSigDigit == str.end(), we will have already dereferenced D.firstSigDigit in the first predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185437 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Support/APFloat.cpp b/lib/Support/APFloat.cpp index ae4a101feba..8713ede6a17 100644 --- a/lib/Support/APFloat.cpp +++ b/lib/Support/APFloat.cpp @@ -2488,7 +2488,7 @@ APFloat::convertFromDecimalString(StringRef str, roundingMode rounding_mode) // D->firstSigDigit equals str.end(), every digit must be a zero and there can // be at most one dot. On the other hand, if we have a zero with a non-zero // exponent, then we know that D.firstSigDigit will be non-numeric. - if (decDigitValue(*D.firstSigDigit) >= 10U || D.firstSigDigit == str.end()) { + if (D.firstSigDigit == str.end() || decDigitValue(*D.firstSigDigit) >= 10U) { category = fcZero; fs = opOK;