diff options
author | Jordan Rose <jordan_rose@apple.com> | 2012-09-25 22:32:51 +0000 |
---|---|---|
committer | Jordan Rose <jordan_rose@apple.com> | 2012-09-25 22:32:51 +0000 |
commit | 2fd6956fd3020cdaf7452ee68435376125c60355 (patch) | |
tree | 86e1af961a503239a497bea7babbc3d11171eda5 /lib/Lex/LiteralSupport.cpp | |
parent | 80ecf5e66738a7058da58489ca55200212f3d42c (diff) | |
download | clang-2fd6956fd3020cdaf7452ee68435376125c60355.tar.gz clang-2fd6956fd3020cdaf7452ee68435376125c60355.tar.bz2 clang-2fd6956fd3020cdaf7452ee68435376125c60355.tar.xz |
Rename CanFitInto64Bits to alwaysFitsInto64Bits per discussion on IRC.
This makes the behavior clearer concerning literals with the maximum
number of digits. For a 32-bit example, 4,000,000,000 is a valid uint32_t,
but 5,000,000,000 is not, so we'd have to count 10-digit decimal numbers
as "unsafe" (meaning we have to check for overflow when parsing them,
just as we would for numbers with 11 digits or higher). This is the same,
only with 64 bits to play with.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164639 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Lex/LiteralSupport.cpp')
-rw-r--r-- | lib/Lex/LiteralSupport.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Lex/LiteralSupport.cpp b/lib/Lex/LiteralSupport.cpp index d669c19a0c..9171449968 100644 --- a/lib/Lex/LiteralSupport.cpp +++ b/lib/Lex/LiteralSupport.cpp @@ -752,7 +752,7 @@ void NumericLiteralParser::ParseNumberStartingWithZero(SourceLocation TokLoc) { } } -static bool CanFitInto64Bits(unsigned Radix, unsigned NumDigits) { +static bool alwaysFitsInto64Bits(unsigned Radix, unsigned NumDigits) { switch (Radix) { case 2: return NumDigits <= 64; @@ -778,7 +778,7 @@ bool NumericLiteralParser::GetIntegerValue(llvm::APInt &Val) { // handles the common cases that matter (small decimal integers and // hex/octal values which don't overflow). const unsigned NumDigits = SuffixBegin - DigitsBegin; - if (CanFitInto64Bits(radix, NumDigits)) { + if (alwaysFitsInto64Bits(radix, NumDigits)) { uint64_t N = 0; for (const char *Ptr = DigitsBegin; Ptr != SuffixBegin; ++Ptr) N = N * radix + HexDigitValue(*Ptr); |