[cfe-commits] r76792 - in /cfe/trunk: include/clang/Analysis/PathSensitive/GRCoreEngine.h lib/Analysis/GRCoreEngine.cpp

Ted Kremenek kremenek at apple.com
Wed Jul 22 14:40:46 PDT 2009


Author: kremenek
Date: Wed Jul 22 16:40:46 2009
New Revision: 76792

URL: http://llvm.org/viewvc/llvm-project?rev=76792&view=rev
Log:
Add support for 'PreStmt' program points to GRCoreEngine and GRStmtNodeBuilder.

Modified:
    cfe/trunk/include/clang/Analysis/PathSensitive/GRCoreEngine.h
    cfe/trunk/lib/Analysis/GRCoreEngine.cpp

Modified: cfe/trunk/include/clang/Analysis/PathSensitive/GRCoreEngine.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/PathSensitive/GRCoreEngine.h?rev=76792&r1=76791&r2=76792&view=diff

==============================================================================
--- cfe/trunk/include/clang/Analysis/PathSensitive/GRCoreEngine.h (original)
+++ cfe/trunk/include/clang/Analysis/PathSensitive/GRCoreEngine.h Wed Jul 22 16:40:46 2009
@@ -142,7 +142,8 @@
   }  
     
   ExplodedNodeImpl*
-  generateNodeImpl(PostStmt PP, const void* State, ExplodedNodeImpl* Pred);
+  generateNodeImpl(const ProgramPoint &PP, const void* State,
+                   ExplodedNodeImpl* Pred);
   
   ExplodedNodeImpl*
   generateNodeImpl(Stmt* S, const void* State, ExplodedNodeImpl* Pred,

Modified: cfe/trunk/lib/Analysis/GRCoreEngine.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/GRCoreEngine.cpp?rev=76792&r1=76791&r2=76792&view=diff

==============================================================================
--- cfe/trunk/lib/Analysis/GRCoreEngine.cpp (original)
+++ cfe/trunk/lib/Analysis/GRCoreEngine.cpp Wed Jul 22 16:40:46 2009
@@ -430,11 +430,14 @@
                                         ExplodedNodeImpl* Pred,
                                         ProgramPoint::Kind K,
                                         const void *tag) {
-  return generateNodeImpl(GetPostLoc(S, K, tag), State, Pred); 
+  return K == ProgramPoint::PreStmtKind
+         ? generateNodeImpl(PreStmt(S, tag), State, Pred)
+         : generateNodeImpl(GetPostLoc(S, K, tag), State, Pred); 
 }
 
 ExplodedNodeImpl*
-GRStmtNodeBuilderImpl::generateNodeImpl(PostStmt Loc, const void* State,
+GRStmtNodeBuilderImpl::generateNodeImpl(const ProgramPoint &Loc,
+                                        const void* State,
                                         ExplodedNodeImpl* Pred) {
   bool IsNew;
   ExplodedNodeImpl* N = Eng.G->getNodeImpl(Loc, State, &IsNew);





More information about the cfe-commits mailing list