From a74c22daec6b7b0f3bd113a206006e0692aa0aad Mon Sep 17 00:00:00 2001 From: Zhongxing Xu Date: Fri, 2 Jul 2010 06:39:46 +0000 Subject: [PATCH] Change CallGraph::Prog to be a reference. idx::Program means to be a global object to the Index library. llvm-svn: 107461 --- clang/examples/wpa/clang-wpa.cpp | 4 +++- clang/include/clang/Index/CallGraph.h | 4 ++-- clang/lib/Index/CallGraph.cpp | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/clang/examples/wpa/clang-wpa.cpp b/clang/examples/wpa/clang-wpa.cpp index b515e3314830..c75626dab5d2 100644 --- a/clang/examples/wpa/clang-wpa.cpp +++ b/clang/examples/wpa/clang-wpa.cpp @@ -31,6 +31,8 @@ int main(int argc, char **argv) { FileManager FileMgr; std::vector ASTUnits; + Program Prog; + if (InputFilenames.empty()) return 0; @@ -47,7 +49,7 @@ int main(int argc, char **argv) { } llvm::OwningPtr CG; - CG.reset(new CallGraph()); + CG.reset(new CallGraph(Prog)); for (unsigned i = 0, e = ASTUnits.size(); i != e; ++i) CG->addTU(ASTUnits[i]->getASTContext()); diff --git a/clang/include/clang/Index/CallGraph.h b/clang/include/clang/Index/CallGraph.h index 5edfe6fea8db..336bf47a2efc 100644 --- a/clang/include/clang/Index/CallGraph.h +++ b/clang/include/clang/Index/CallGraph.h @@ -54,7 +54,7 @@ public: class CallGraph { /// Program manages all Entities. - idx::Program Prog; + idx::Program &Prog; typedef std::map FunctionMapTy; @@ -71,7 +71,7 @@ class CallGraph { CallGraphNode *ExternalCallingNode; public: - CallGraph(); + CallGraph(idx::Program &P); ~CallGraph(); typedef FunctionMapTy::iterator iterator; diff --git a/clang/lib/Index/CallGraph.cpp b/clang/lib/Index/CallGraph.cpp index 6403319de1f0..dedcc0e80816 100644 --- a/clang/lib/Index/CallGraph.cpp +++ b/clang/lib/Index/CallGraph.cpp @@ -55,7 +55,7 @@ void CGBuilder::VisitCallExpr(CallExpr *CE) { } } -CallGraph::CallGraph() : Root(0) { +CallGraph::CallGraph(Program &P) : Prog(P), Root(0) { ExternalCallingNode = getOrInsertFunction(Entity()); }