aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/AsmParser/llvmAsmParser.y5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y
index eded8c4f94..75df31ccf8 100644
--- a/lib/AsmParser/llvmAsmParser.y
+++ b/lib/AsmParser/llvmAsmParser.y
@@ -1464,6 +1464,11 @@ BBTerminatorInst : RET ResolvedVal { // Return with a result...
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;