[cfe-commits] r45550 - /cfe/trunk/include/clang/Analysis/PathSensitive/SimulGraph.h

Ted Kremenek kremenek at apple.com
Thu Jan 3 14:08:52 PST 2008


Author: kremenek
Date: Thu Jan  3 16:08:52 2008
New Revision: 45550

URL: http://llvm.org/viewvc/llvm-project?rev=45550&view=rev
Log:
SimulGraph::getVertex() now also returns a bool indicating if the returned
vertex was freshly created.

Modified:
    cfe/trunk/include/clang/Analysis/PathSensitive/SimulGraph.h

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

==============================================================================
--- cfe/trunk/include/clang/Analysis/PathSensitive/SimulGraph.h (original)
+++ cfe/trunk/include/clang/Analysis/PathSensitive/SimulGraph.h Thu Jan  3 16:08:52 2008
@@ -58,8 +58,10 @@
   
   /// getVertex - Retrieve the vertex associated with a (Location,State) pair,
   ///  where the 'Location' is a ProgramEdge in the CFG.  If no vertex for
-  ///  this pair exists, it is created.
-  VertexTy* getVertex(const ProgramEdge& L, typename VertexTy::StateTy State) {
+  ///  this pair exists, it is created.  The bool returned in the pair
+  ///  is true if the vertex was freshly created.
+  std::pair<VertexTy*,bool> getVertex(const ProgramEdge& L,
+                                      typename VertexTy::StateTy State) {
     
     // Retrieve the vertex set associated with Loc.
     VertexSet& VSet = VerticesOfEdge[L];
@@ -75,7 +77,7 @@
     VertexTy::StateTy::Profile(profile, State);
     
     if ((V = VSet.FindNodeOrInsertPos(profile,InsertPos)))
-      return V;
+      return std::make_pair(V,false);
       
     // No cache hit.  Allocate a new vertex.
     V = (VertexTy*) Allocator.Allocate<VertexTy>();
@@ -84,7 +86,7 @@
     // Insert the vertex into the vertex set and return it.
     VSet.InsertNode(V,InsertPos);
     
-    return V;
+    return std::make_pair(V,true);
   }
   
   /// addRoot - Add a vertex to the set of roots.





More information about the cfe-commits mailing list