Fix bug: Assembler/2003-05-15-SwitchBug.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6239 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index eded8c4..75df31c 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1464,6 +1464,11 @@
     for (; I != E; ++I)
       S->dest_push_back(I->first, I->second);
   }
+  | SWITCH IntType ValueRef ',' LABEL ValueRef '[' ']' {
+    SwitchInst *S = new SwitchInst(getVal($2, $3), 
+                                   cast<BasicBlock>(getVal(Type::LabelTy, $6)));
+    $$ = S;
+  }
   | INVOKE TypesV ValueRef '(' ValueRefListE ')' TO ResolvedVal 
     EXCEPT ResolvedVal {
     const PointerType *PFTy;