Convert some more actions to smart pointers.
No performance regression in my basic test.
Also fixed a type error in ActOnFinishSwitchStmt's arguments (body is a stmt).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62032 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/PrintParserCallbacks.cpp b/Driver/PrintParserCallbacks.cpp
index c5d754e..7999da0 100644
--- a/Driver/PrintParserCallbacks.cpp
+++ b/Driver/PrintParserCallbacks.cpp
@@ -284,29 +284,32 @@
llvm::cout << __FUNCTION__ << "\n";
return StmtEmpty();
}
-
- virtual StmtResult ActOnLabelStmt(SourceLocation IdentLoc, IdentifierInfo *II,
- SourceLocation ColonLoc, StmtTy *SubStmt) {
+
+ virtual OwningStmtResult ActOnLabelStmt(SourceLocation IdentLoc,
+ IdentifierInfo *II,
+ SourceLocation ColonLoc,
+ StmtArg SubStmt) {
llvm::cout << __FUNCTION__ << "\n";
- return 0;
+ return StmtEmpty();
}
-
- virtual StmtResult ActOnIfStmt(SourceLocation IfLoc, ExprTy *CondVal,
- StmtTy *ThenVal, SourceLocation ElseLoc,
- StmtTy *ElseVal) {
+
+ virtual OwningStmtResult ActOnIfStmt(SourceLocation IfLoc, ExprArg CondVal,
+ StmtArg ThenVal,SourceLocation ElseLoc,
+ StmtArg ElseVal) {
llvm::cout << __FUNCTION__ << "\n";
- return 0;
+ return StmtEmpty();
}
-
- virtual StmtResult ActOnStartOfSwitchStmt(ExprTy *Cond) {
+
+ virtual OwningStmtResult ActOnStartOfSwitchStmt(ExprArg Cond) {
llvm::cout << __FUNCTION__ << "\n";
- return 0;
+ return StmtEmpty();
}
-
- virtual StmtResult ActOnFinishSwitchStmt(SourceLocation SwitchLoc,
- StmtTy *Switch, ExprTy *Body) {
+
+ virtual OwningStmtResult ActOnFinishSwitchStmt(SourceLocation SwitchLoc,
+ StmtArg Switch,
+ StmtArg Body) {
llvm::cout << __FUNCTION__ << "\n";
- return 0;
+ return StmtEmpty();
}
virtual StmtResult ActOnWhileStmt(SourceLocation WhileLoc, ExprTy *Cond,