CallExprs are now no longer block-level expressions in the CFG by construction.
llvm-svn: 47913
This commit is contained in:
parent
9f3f827e65
commit
c76a83f1b6
|
|
@ -120,7 +120,6 @@ private:
|
||||||
CFGBlock* WalkAST_VisitChildren(Stmt* S);
|
CFGBlock* WalkAST_VisitChildren(Stmt* S);
|
||||||
CFGBlock* WalkAST_VisitDeclSubExprs(StmtIterator& I);
|
CFGBlock* WalkAST_VisitDeclSubExprs(StmtIterator& I);
|
||||||
CFGBlock* WalkAST_VisitStmtExpr(StmtExpr* S);
|
CFGBlock* WalkAST_VisitStmtExpr(StmtExpr* S);
|
||||||
CFGBlock* WalkAST_VisitCallExpr(CallExpr* C);
|
|
||||||
void FinishBlock(CFGBlock* B);
|
void FinishBlock(CFGBlock* B);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
@ -318,9 +317,6 @@ CFGBlock* CFGBuilder::WalkAST(Stmt* S, bool AlwaysAddStmt = false) {
|
||||||
return Block;
|
return Block;
|
||||||
}
|
}
|
||||||
|
|
||||||
case Stmt::CallExprClass:
|
|
||||||
return WalkAST_VisitCallExpr(cast<CallExpr>(S));
|
|
||||||
|
|
||||||
case Stmt::StmtExprClass:
|
case Stmt::StmtExprClass:
|
||||||
return WalkAST_VisitStmtExpr(cast<StmtExpr>(S));
|
return WalkAST_VisitStmtExpr(cast<StmtExpr>(S));
|
||||||
|
|
||||||
|
|
@ -438,14 +434,6 @@ CFGBlock* CFGBuilder::WalkAST_VisitStmtExpr(StmtExpr* S) {
|
||||||
return VisitCompoundStmt(S->getSubStmt());
|
return VisitCompoundStmt(S->getSubStmt());
|
||||||
}
|
}
|
||||||
|
|
||||||
/// WalkAST_VisitCallExpr - Utility method to handle function calls that
|
|
||||||
/// are nested in expressions. The idea is that each function call should
|
|
||||||
/// appear as a distinct statement in the CFGBlock.
|
|
||||||
CFGBlock* CFGBuilder::WalkAST_VisitCallExpr(CallExpr* C) {
|
|
||||||
Block->appendStmt(C);
|
|
||||||
return WalkAST_VisitChildren(C);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// VisitStmt - Handle statements with no branching control flow.
|
/// VisitStmt - Handle statements with no branching control flow.
|
||||||
CFGBlock* CFGBuilder::VisitStmt(Stmt* Statement) {
|
CFGBlock* CFGBuilder::VisitStmt(Stmt* Statement) {
|
||||||
// We cannot assume that we are in the middle of a basic block, since
|
// We cannot assume that we are in the middle of a basic block, since
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue