Handle shifts >= 32 bits.
authorMisha Brukman <brukman+llvm@gmail.com>
Mon, 21 Jun 2004 18:01:47 +0000 (18:01 +0000)
committerMisha Brukman <brukman+llvm@gmail.com>
Mon, 21 Jun 2004 18:01:47 +0000 (18:01 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14291 91177308-0d34-0410-b5e6-96231b3b80d8

utils/TableGen/Record.cpp

index 1a60ac489e082171de9f6253ddbb2726daac144d..3fc14c59ed3098c2adcb285a0011643b13b50bfe 100644 (file)
@@ -61,10 +61,10 @@ Init *BitsRecTy::convertValue(BitInit *UI) {
 // appropriate bits...
 //
 Init *BitsRecTy::convertValue(IntInit *II) {
-  int Value = II->getValue();
+  int64_t Value = II->getValue();
   // Make sure this bitfield is large enough to hold the integer value...
   if (Value >= 0) {
-    if (Value & ~((1 << Size)-1))
+    if (Value & ~((1LL << Size)-1))
       return 0;
   } else {
     if ((Value >> Size) != -1 || ((Value & (1 << Size-1)) == 0))