Convert some more statement actions to smart pointers.
Fix a type error; parser wanted to pass the third part of a for-statement as a statement; should be expression.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62380 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/PrintParserCallbacks.cpp b/Driver/PrintParserCallbacks.cpp
index 7999da0..c04dbdc 100644
--- a/Driver/PrintParserCallbacks.cpp
+++ b/Driver/PrintParserCallbacks.cpp
@@ -312,29 +312,31 @@
       return StmtEmpty();
     }
 
-    virtual StmtResult ActOnWhileStmt(SourceLocation WhileLoc, ExprTy *Cond,
-                                      StmtTy *Body) {
+    virtual OwningStmtResult ActOnWhileStmt(SourceLocation WhileLoc,
+                                            ExprArg Cond, StmtArg Body) {
       llvm::cout << __FUNCTION__ << "\n";
-      return 0;
+      return StmtEmpty();
     }
-    virtual StmtResult ActOnDoStmt(SourceLocation DoLoc, StmtTy *Body,
-                                   SourceLocation WhileLoc, ExprTy *Cond) {
+    virtual OwningStmtResult ActOnDoStmt(SourceLocation DoLoc, StmtArg Body,
+                                         SourceLocation WhileLoc, ExprArg Cond){
       llvm::cout << __FUNCTION__ << "\n";
-      return 0;
+      return StmtEmpty();
     }
-    virtual StmtResult ActOnForStmt(SourceLocation ForLoc, 
-                                    SourceLocation LParenLoc, 
-                                    StmtTy *First, ExprTy *Second, ExprTy *Third,
-                                    SourceLocation RParenLoc, StmtTy *Body) {
+    virtual OwningStmtResult ActOnForStmt(SourceLocation ForLoc,
+                                        SourceLocation LParenLoc,
+                                        StmtArg First, ExprArg Second,
+                                        ExprArg Third, SourceLocation RParenLoc,
+                                        StmtArg Body) {
       llvm::cout << __FUNCTION__ << "\n";
-      return 0;
+      return StmtEmpty();
     }
-    virtual StmtResult ActOnObjCForCollectionStmt(SourceLocation ForColLoc, 
-                                                  SourceLocation LParenLoc, 
-                                                  StmtTy *First, ExprTy *Second,
-                                                  SourceLocation RParenLoc, StmtTy *Body) {
+    virtual OwningStmtResult ActOnObjCForCollectionStmt(
+                                       SourceLocation ForColLoc,
+                                       SourceLocation LParenLoc,
+                                       StmtArg First, ExprArg Second,
+                                       SourceLocation RParenLoc, StmtArg Body) {
       llvm::cout << __FUNCTION__ << "\n";
-      return 0;
+      return StmtEmpty();
     }
     virtual StmtResult ActOnGotoStmt(SourceLocation GotoLoc,
                                      SourceLocation LabelLoc,