]> granicus.if.org Git - clang/commitdiff
make CallGraph more flexible by letting it accept ASTContext instead of ASTUnit.
authorZhongxing Xu <xuzhongxing@gmail.com>
Wed, 28 Oct 2009 12:23:03 +0000 (12:23 +0000)
committerZhongxing Xu <xuzhongxing@gmail.com>
Wed, 28 Oct 2009 12:23:03 +0000 (12:23 +0000)
Patch by Simone Pellegrini.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85386 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/CallGraph.h
lib/Analysis/CallGraph.cpp
tools/wpa/clang-wpa.cpp

index fabeea38d597a23d25acfa9b566b13de6abaf707..5edfe6fea8db6c86800b38120af20634df0f599d 100644 (file)
@@ -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; }
 
index ae8845db63ae7c6f9912243e9da12108722a33f8..17dc0685f82fcd3d073f4347d69cbb73029a9189 100644 (file)
@@ -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) {
 
index fa2326dc2ba4482034069a9099839e60fa7aba27..346634b6f61786b08a2566037eb26d91f33322db 100644 (file)
@@ -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();
 }