Literal value calculation isn't likely to overflow on targets having int as 32 or...
authorSanjiv Gupta <sanjiv.gupta@microchip.com>
Tue, 14 Apr 2009 16:46:37 +0000 (16:46 +0000)
committerSanjiv Gupta <sanjiv.gupta@microchip.com>
Tue, 14 Apr 2009 16:46:37 +0000 (16:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69046 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Lex/LiteralSupport.cpp

index a52d951e7543f1d62c76120398ccfeb51c56091f..e8d31628865ee1d281b78e7f7aaada8b78057813 100644 (file)
@@ -632,10 +632,10 @@ CharLiteralParser::CharLiteralParser(const char *begin, const char *end,
   assert(begin[0] == '\'' && "Invalid token lexed");
   ++begin;
 
-  // FIXME: This assumes that 'int' is 32-bits in overflow calculation, and the
-  // size of "value".
-  assert(PP.getTargetInfo().getIntWidth() == 32 &&
-         "Assumes sizeof(int) == 4 for now");
+  // FIXME: This assumes that 'int' is not more than 32-bits in overflow 
+  // calculation, and the size of "value".
+  assert(PP.getTargetInfo().getIntWidth() <= 32 &&
+         "Assumes sizeof(int) <= 4 for now");
   // FIXME: This assumes that wchar_t is 32-bits for now.
   assert(PP.getTargetInfo().getWCharWidth() == 32 && 
          "Assumes sizeof(wchar_t) == 4 for now");