]> granicus.if.org Git - clang/commitdiff
Rename CanFitInto64Bits to alwaysFitsInto64Bits per discussion on IRC.
authorJordan Rose <jordan_rose@apple.com>
Tue, 25 Sep 2012 22:32:51 +0000 (22:32 +0000)
committerJordan Rose <jordan_rose@apple.com>
Tue, 25 Sep 2012 22:32:51 +0000 (22:32 +0000)
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

lib/Lex/LiteralSupport.cpp

index d669c19a0c761c159242e2aab1af65fe2f066091..9171449968c72f4b627bb865f76b3f9e966d4bea 100644 (file)
@@ -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);