[cfe-commits] r59176 - in /cfe/trunk: include/clang/Analysis/Visitors/CFGStmtVisitor.h lib/Analysis/LiveVariables.cpp lib/Analysis/UninitializedValues.cpp
Ted Kremenek
kremenek at apple.com
Wed Nov 12 13:58:47 PST 2008
Author: kremenek
Date: Wed Nov 12 15:58:46 2008
New Revision: 59176
URL: http://llvm.org/viewvc/llvm-project?rev=59176&view=rev
Log:
Update CFGStmtVisitor to recognize that ObjCForCollectionStmts are special block-level "expressions".
Modified:
cfe/trunk/include/clang/Analysis/Visitors/CFGStmtVisitor.h
cfe/trunk/lib/Analysis/LiveVariables.cpp
cfe/trunk/lib/Analysis/UninitializedValues.cpp
Modified: cfe/trunk/include/clang/Analysis/Visitors/CFGStmtVisitor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/Visitors/CFGStmtVisitor.h?rev=59176&r1=59175&r2=59176&view=diff
==============================================================================
--- cfe/trunk/include/clang/Analysis/Visitors/CFGStmtVisitor.h (original)
+++ cfe/trunk/include/clang/Analysis/Visitors/CFGStmtVisitor.h Wed Nov 12 15:58:46 2008
@@ -68,7 +68,8 @@
DISPATCH_CASE(StmtExpr)
DISPATCH_CASE(ConditionalOperator)
-
+ DISPATCH_CASE(ObjCForCollectionStmt)
+
case Stmt::BinaryOperatorClass: {
BinaryOperator* B = cast<BinaryOperator>(S);
if (B->isLogicalOp())
@@ -90,6 +91,10 @@
DEFAULT_BLOCKSTMT_VISIT(StmtExpr)
DEFAULT_BLOCKSTMT_VISIT(ConditionalOperator)
+ RetTy BlockStmt_VisitObjCForCollectionStmt(ObjCForCollectionStmt* S) {
+ return static_cast<ImplClass*>(this)->BlockStmt_VisitStmt(S);
+ }
+
RetTy BlockStmt_VisitImplicitControlFlowExpr(Expr* E) {
return static_cast<ImplClass*>(this)->BlockStmt_VisitExpr(E);
}
Modified: cfe/trunk/lib/Analysis/LiveVariables.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/LiveVariables.cpp?rev=59176&r1=59175&r2=59176&view=diff
==============================================================================
--- cfe/trunk/lib/Analysis/LiveVariables.cpp (original)
+++ cfe/trunk/lib/Analysis/LiveVariables.cpp Wed Nov 12 15:58:46 2008
@@ -121,7 +121,7 @@
void VisitBinaryOperator(BinaryOperator* B);
void VisitAssign(BinaryOperator* B);
void VisitDeclStmt(DeclStmt* DS);
- void VisitObjCForCollectionStmt(ObjCForCollectionStmt* S);
+ void BlockStmt_VisitObjCForCollectionStmt(ObjCForCollectionStmt* S);
void VisitUnaryOperator(UnaryOperator* U);
void Visit(Stmt *S);
void VisitTerminator(CFGBlock* B);
@@ -176,7 +176,9 @@
else VisitStmt(B);
}
-void TransferFuncs::VisitObjCForCollectionStmt(ObjCForCollectionStmt* S) {
+void
+TransferFuncs::BlockStmt_VisitObjCForCollectionStmt(ObjCForCollectionStmt* S) {
+
// This represents a 'use' of the collection.
Visit(S->getCollection());
Modified: cfe/trunk/lib/Analysis/UninitializedValues.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/UninitializedValues.cpp?rev=59176&r1=59175&r2=59176&view=diff
==============================================================================
--- cfe/trunk/lib/Analysis/UninitializedValues.cpp (original)
+++ cfe/trunk/lib/Analysis/UninitializedValues.cpp Wed Nov 12 15:58:46 2008
@@ -75,7 +75,7 @@
bool VisitCallExpr(CallExpr* C);
bool VisitDeclStmt(DeclStmt* D);
bool VisitConditionalOperator(ConditionalOperator* C);
- bool VisitObjCForCollectionStmt(ObjCForCollectionStmt* S);
+ bool BlockStmt_VisitObjCForCollectionStmt(ObjCForCollectionStmt* S);
bool Visit(Stmt *S);
bool BlockStmt_VisitExpr(Expr* E);
@@ -180,7 +180,8 @@
return Visit(U->getSubExpr());
}
-bool TransferFuncs::VisitObjCForCollectionStmt(ObjCForCollectionStmt* S) {
+bool
+TransferFuncs::BlockStmt_VisitObjCForCollectionStmt(ObjCForCollectionStmt* S) {
// This represents a use of the 'collection'
bool x = Visit(S->getCollection());
More information about the cfe-commits
mailing list