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