diff options
-rw-r--r-- | lib/Analysis/CallGraph.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Analysis/CallGraph.cpp b/lib/Analysis/CallGraph.cpp index 79519d7512..ca73c4a161 100644 --- a/lib/Analysis/CallGraph.cpp +++ b/lib/Analysis/CallGraph.cpp @@ -87,6 +87,7 @@ CallGraph::~CallGraph() { } void CallGraph::addToCallGraph(Decl* D, bool IsGlobal) { + assert(D); CallGraphNode *Node = getOrInsertFunction(D); if (IsGlobal) @@ -141,7 +142,9 @@ CallGraphNode *CallGraph::getOrInsertFunction(Decl *F) { return Node; Node = new CallGraphNode(F); - ParentlessNodes.insert(Node); + // If not root, add to the parentless list. + if (F != 0) + ParentlessNodes.insert(Node); return Node; } |