diff options
author | Ted Kremenek <kremenek@apple.com> | 2010-09-10 03:05:33 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2010-09-10 03:05:33 +0000 |
commit | 4beaa9f51b2da57c64740cef2bd1c2fdb0c325d5 (patch) | |
tree | 0a9084d0cf99378e9fc85db7b414b9834bb000e6 /include/clang/Checker | |
parent | 383329eef5564ac24a7703574f181d55ccedbab4 (diff) |
Add ObjCAtSynchronizedStmt to the CFG and add GRExprEngine support (PreVisit for checkers).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113572 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Checker')
-rw-r--r-- | include/clang/Checker/PathSensitive/CheckerVisitor.def | 1 | ||||
-rw-r--r-- | include/clang/Checker/PathSensitive/GRExprEngine.h | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/clang/Checker/PathSensitive/CheckerVisitor.def b/include/clang/Checker/PathSensitive/CheckerVisitor.def index 2edc4a37b7..e68c148556 100644 --- a/include/clang/Checker/PathSensitive/CheckerVisitor.def +++ b/include/clang/Checker/PathSensitive/CheckerVisitor.def @@ -24,6 +24,7 @@ PREVISIT(BinaryOperator, Stmt) PREVISIT(CallExpr, Stmt) PREVISIT(CXXOperatorCallExpr, CallExpr) PREVISIT(DeclStmt, Stmt) +PREVISIT(ObjCAtSynchronizedStmt, Stmt) PREVISIT(ObjCMessageExpr, Stmt) PREVISIT(ReturnStmt, Stmt) diff --git a/include/clang/Checker/PathSensitive/GRExprEngine.h b/include/clang/Checker/PathSensitive/GRExprEngine.h index b8ccc06b7d..39c3ea50a5 100644 --- a/include/clang/Checker/PathSensitive/GRExprEngine.h +++ b/include/clang/Checker/PathSensitive/GRExprEngine.h @@ -26,6 +26,7 @@ #include "clang/AST/Type.h" #include "clang/AST/ExprObjC.h" #include "clang/AST/ExprCXX.h" +#include "clang/AST/StmtObjC.h" namespace clang { class AnalysisManager; @@ -386,6 +387,10 @@ public: void VisitMemberExpr(const MemberExpr* M, ExplodedNode* Pred, ExplodedNodeSet& Dst, bool asLValue); + /// Transfer function logic for ObjCAtSynchronizedStmts. + void VisitObjCAtSynchronizedStmt(const ObjCAtSynchronizedStmt *S, + ExplodedNode *Pred, ExplodedNodeSet &Dst); + /// VisitObjCIvarRefExpr - Transfer function logic for ObjCIvarRefExprs. void VisitObjCIvarRefExpr(const ObjCIvarRefExpr* DR, ExplodedNode* Pred, ExplodedNodeSet& Dst, bool asLValue); |