[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