From: Anna Zaks Date: Thu, 8 Mar 2012 23:16:26 +0000 (+0000) Subject: Call Graph: Only the root node is allowed to have an invalid Decl*. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d2776613703a516f107decc06b38a0b60a10542c;p=clang Call Graph: Only the root node is allowed to have an invalid Decl*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152350 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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; }