Add ast node support for case/default/label stmts.

llvm-svn: 39120
diff --git a/clang/Sema/Sema.cpp b/clang/Sema/Sema.cpp
index c7b1eb0..4d3d437 100644
--- a/clang/Sema/Sema.cpp
+++ b/clang/Sema/Sema.cpp
@@ -99,6 +99,25 @@
     return 0;              // {}  -> ;
 }
 
+Action::StmtResult
+ASTBuilder::ParseCaseStmt(SourceLocation CaseLoc, ExprTy *LHSVal,
+                          SourceLocation DotDotDotLoc, ExprTy *RHSVal,
+                          SourceLocation ColonLoc, StmtTy *SubStmt) {
+  return new CaseStmt((Expr*)LHSVal, (Expr*)RHSVal, (Stmt*)SubStmt);
+}
+
+Action::StmtResult
+ASTBuilder::ParseDefaultStmt(SourceLocation DefaultLoc,
+                             SourceLocation ColonLoc, StmtTy *SubStmt) {
+  return new DefaultStmt((Stmt*)SubStmt);
+}
+
+Action::StmtResult
+ASTBuilder::ParseLabelStmt(SourceLocation IdentLoc, IdentifierInfo *II,
+                           SourceLocation ColonLoc, StmtTy *SubStmt) {
+  return new LabelStmt(II, (Stmt*)SubStmt);
+}
+
 Action::StmtResult 
 ASTBuilder::ParseIfStmt(SourceLocation IfLoc, ExprTy *CondVal,
                         StmtTy *ThenVal, SourceLocation ElseLoc,