From 17f8f2e317df637deb04d8e9e7469f1fa778ebfb Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 17 Oct 2003 05:11:44 +0000 Subject: [PATCH] Tighten up handling of checks for shift instructions llvm-svn: 9191 --- lib/AsmParser/llvmAsmParser.y | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 75472557fe0..b14d6a7ecc0 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -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 {