From: Chris Lattner Date: Wed, 21 May 2003 17:48:56 +0000 (+0000) Subject: Fix bugs: X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=5e458e26b399a4b4da61103041ae3b95908f3459;p=oota-llvm.git Fix bugs: Assembler/2003-05-21-MalformedShiftCrash.llx Assembler/2003-05-21-ConstantShiftExpr.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6258 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 7945b37ed52..8fd88ac11f0 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -1094,7 +1094,9 @@ ConstExpr: CAST '(' ConstVal TO Types ')' { | ShiftOps '(' ConstVal ',' ConstVal ')' { if ($5->getType() != Type::UByteTy) ThrowException("Shift count for shift constant must be unsigned byte!"); - $$ = ConstantExpr::get($1, $3, $5); + if (!$3->getType()->isIntegral()) + ThrowException("Shift constant expression requires integral operand!"); + $$ = ConstantExpr::getShift($1, $3, $5); };