template<typename Derived>
StmtResult
TreeTransform<Derived>::TransformSEHTryStmt(SEHTryStmt *S) {
- StmtResult TryBlock; // = getDerived().TransformCompoundStmt(S->getTryBlock());
+ StmtResult TryBlock = getDerived().TransformCompoundStmt(S->getTryBlock());
if(TryBlock.isInvalid()) return StmtError();
StmtResult Handler = getDerived().TransformSEHHandler(S->getHandler());
+ if (Handler.isInvalid())
+ return StmtError();
+
if(!getDerived().AlwaysRebuild() &&
TryBlock.get() == S->getTryBlock() &&
Handler.get() == S->getHandler())
template<typename Derived>
StmtResult
TreeTransform<Derived>::TransformSEHFinallyStmt(SEHFinallyStmt *S) {
- StmtResult Block; // = getDerived().TransformCompoundStatement(S->getBlock());
+ StmtResult Block = getDerived().TransformCompoundStmt(S->getBlock());
if(Block.isInvalid()) return StmtError();
return getDerived().RebuildSEHFinallyStmt(S->getFinallyLoc(),
ExprResult FilterExpr = getDerived().TransformExpr(S->getFilterExpr());
if(FilterExpr.isInvalid()) return StmtError();
- StmtResult Block; // = getDerived().TransformCompoundStatement(S->getBlock());
+ StmtResult Block = getDerived().TransformCompoundStmt(S->getBlock());
if(Block.isInvalid()) return StmtError();
return getDerived().RebuildSEHExceptStmt(S->getExceptLoc(),