implement AST node for switch stmt
llvm-svn: 39119
diff --git a/clang/Sema/Sema.cpp b/clang/Sema/Sema.cpp
index 56eb4d1..c7b1eb0 100644
--- a/clang/Sema/Sema.cpp
+++ b/clang/Sema/Sema.cpp
@@ -105,6 +105,11 @@
StmtTy *ElseVal) {
return new IfStmt((Expr*)CondVal, (Stmt*)ThenVal, (Stmt*)ElseVal);
}
+Action::StmtResult
+ASTBuilder::ParseSwitchStmt(SourceLocation SwitchLoc, ExprTy *Cond,
+ StmtTy *Body) {
+ return new SwitchStmt((Expr*)Cond, (Stmt*)Body);
+}
Action::StmtResult
ASTBuilder::ParseForStmt(SourceLocation ForLoc, SourceLocation LParenLoc,
diff --git a/clang/Sema/Sema.h b/clang/Sema/Sema.h
index e8ae0a8..8520fd4 100644
--- a/clang/Sema/Sema.h
+++ b/clang/Sema/Sema.h
@@ -60,7 +60,8 @@
virtual StmtResult ParseIfStmt(SourceLocation IfLoc, ExprTy *CondVal,
StmtTy *ThenVal, SourceLocation ElseLoc,
StmtTy *ElseVal);
-
+ virtual StmtResult ParseSwitchStmt(SourceLocation SwitchLoc, ExprTy *Cond,
+ StmtTy *Body);
virtual StmtResult ParseWhileStmt(SourceLocation WhileLoc, ExprTy *Cond,
StmtTy *Body);
virtual StmtResult ParseDoStmt(SourceLocation DoLoc, StmtTy *Body,