aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhongxing Xu <xuzhongxing@gmail.com>2009-10-28 12:23:03 +0000
committerZhongxing Xu <xuzhongxing@gmail.com>2009-10-28 12:23:03 +0000
commitf20288c91601dd3fbab6362a3400a0e6c472795f (patch)
treee6686b52fa143045f4faed8eb00e9f784f9108a7
parent67665869ccf238df4c709536bf62fca25957257b (diff)
make CallGraph more flexible by letting it accept ASTContext instead of ASTUnit.
Patch by Simone Pellegrini. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85386 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Analysis/CallGraph.h3
-rw-r--r--lib/Analysis/CallGraph.cpp4
-rw-r--r--tools/wpa/clang-wpa.cpp4
3 files changed, 4 insertions, 7 deletions
diff --git a/include/clang/Analysis/CallGraph.h b/include/clang/Analysis/CallGraph.h
index fabeea38d5..5edfe6fea8 100644
--- a/include/clang/Analysis/CallGraph.h
+++ b/include/clang/Analysis/CallGraph.h
@@ -17,7 +17,6 @@
#include "clang/Index/ASTLocation.h"
#include "clang/Index/Entity.h"
#include "clang/Index/Program.h"
-#include "clang/Frontend/ASTUnit.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/STLExtras.h"
@@ -87,7 +86,7 @@ public:
CallGraphNode *getExternalCallingNode() { return ExternalCallingNode; }
- void addTU(ASTUnit &AST);
+ void addTU(ASTContext &AST);
idx::Program &getProgram() { return Prog; }
diff --git a/lib/Analysis/CallGraph.cpp b/lib/Analysis/CallGraph.cpp
index ae8845db63..17dc0685f8 100644
--- a/lib/Analysis/CallGraph.cpp
+++ b/lib/Analysis/CallGraph.cpp
@@ -68,10 +68,8 @@ CallGraph::~CallGraph() {
}
}
-void CallGraph::addTU(ASTUnit &AST) {
- ASTContext &Ctx = AST.getASTContext();
+void CallGraph::addTU(ASTContext& Ctx) {
DeclContext *DC = Ctx.getTranslationUnitDecl();
-
for (DeclContext::decl_iterator I = DC->decls_begin(), E = DC->decls_end();
I != E; ++I) {
diff --git a/tools/wpa/clang-wpa.cpp b/tools/wpa/clang-wpa.cpp
index fa2326dc2b..346634b6f6 100644
--- a/tools/wpa/clang-wpa.cpp
+++ b/tools/wpa/clang-wpa.cpp
@@ -13,7 +13,7 @@
//===----------------------------------------------------------------------===//
#include "clang/Analysis/CallGraph.h"
-
+#include "clang/Frontend/ASTUnit.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/SourceManager.h"
#include "clang/Frontend/TextDiagnosticBuffer.h"
@@ -56,7 +56,7 @@ int main(int argc, char **argv) {
CG.reset(new CallGraph());
for (unsigned i = 0, e = ASTUnits.size(); i != e; ++i)
- CG->addTU(*ASTUnits[i]);
+ CG->addTU(ASTUnits[i]->getASTContext());
CG->ViewCallGraph();
}