Fix bugs:
authorChris Lattner <sabre@nondot.org>
Wed, 21 May 2003 17:48:56 +0000 (17:48 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 21 May 2003 17:48:56 +0000 (17:48 +0000)
  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

lib/AsmParser/llvmAsmParser.y

index 7945b37ed52de35f91926c7fb410dd4dac72f949..8fd88ac11f0f24b8c0d2a12849e625417e54c607 100644 (file)
@@ -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);
   };