Tighten up handling of checks for shift instructions
authorChris Lattner <sabre@nondot.org>
Fri, 17 Oct 2003 05:11:44 +0000 (05:11 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 17 Oct 2003 05:11:44 +0000 (05:11 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9191 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/llvmAsmParser.y

index 75472557fe01525ad7f34da23c2d813560eecdda..b14d6a7ecc08d2ea9f61f2ba238a2a70a69a92e3 100644 (file)
@@ -1093,8 +1093,8 @@ ConstExpr: CAST '(' ConstVal TO Types ')' {
   | ShiftOps '(' ConstVal ',' ConstVal ')' {
     if ($5->getType() != Type::UByteTy)
       ThrowException("Shift count for shift constant must be unsigned byte!");
-    if (!$3->getType()->isIntegral())
-      ThrowException("Shift constant expression requires integral operand!");
+    if (!$3->getType()->isInteger())
+      ThrowException("Shift constant expression requires integer operand!");
     $$ = ConstantExpr::getShift($1, $3, $5);
   };
 
@@ -1631,6 +1631,8 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
   | ShiftOps ResolvedVal ',' ResolvedVal {
     if ($4->getType() != Type::UByteTy)
       ThrowException("Shift amount must be ubyte!");
+    if (!$2->getType()->isInteger())
+      ThrowException("Shift constant expression requires integer operand!");
     $$ = new ShiftInst($1, $2, $4);
   }
   | CAST ResolvedVal TO Types {