summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-move/HelperDeclRefGraph.cpp
diff options
context:
space:
mode:
authorHaojian Wu <hokein@google.com>2017-01-17 13:22:37 +0000
committerHaojian Wu <hokein@google.com>2017-01-17 13:22:37 +0000
commit4775ce56ec52f9cfbc6ec1ec263d85054d69d192 (patch)
tree9274fc355284ef92fe524331473f2466292092eb /clang-tools-extra/clang-move/HelperDeclRefGraph.cpp
parente29a32e9ce43d17cf65116f515fe48ccc1140dcb (diff)
downloadbcm5719-llvm-4775ce56ec52f9cfbc6ec1ec263d85054d69d192.tar.gz
bcm5719-llvm-4775ce56ec52f9cfbc6ec1ec263d85054d69d192.zip
[clang-move] Handle helpers with forward declarations.
Reviewers: ioeric Reviewed By: ioeric Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28801 llvm-svn: 292215
Diffstat (limited to 'clang-tools-extra/clang-move/HelperDeclRefGraph.cpp')
-rw-r--r--clang-tools-extra/clang-move/HelperDeclRefGraph.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/clang-tools-extra/clang-move/HelperDeclRefGraph.cpp b/clang-tools-extra/clang-move/HelperDeclRefGraph.cpp
index 8303015171e..00ab9ea651f 100644
--- a/clang-tools-extra/clang-move/HelperDeclRefGraph.cpp
+++ b/clang-tools-extra/clang-move/HelperDeclRefGraph.cpp
@@ -10,8 +10,11 @@
#include "HelperDeclRefGraph.h"
#include "ClangMove.h"
#include "clang/AST/Decl.h"
+#include "llvm/Support/Debug.h"
#include <vector>
+#define DEBUG_TYPE "clang-move"
+
namespace clang {
namespace move {
@@ -113,13 +116,19 @@ void HelperDeclRGBuilder::run(
if (const auto *FuncRef = Result.Nodes.getNodeAs<DeclRefExpr>("func_ref")) {
const auto *DC = Result.Nodes.getNodeAs<Decl>("dc");
assert(DC);
-
- RG->addEdge(getOutmostClassOrFunDecl(DC->getCanonicalDecl()),
- getOutmostClassOrFunDecl(FuncRef->getDecl()));
+ DEBUG(llvm::dbgs() << "Find helper function usage: "
+ << FuncRef->getDecl()->getNameAsString() << " ("
+ << FuncRef->getDecl() << ")\n");
+ RG->addEdge(
+ getOutmostClassOrFunDecl(DC->getCanonicalDecl()),
+ getOutmostClassOrFunDecl(FuncRef->getDecl()->getCanonicalDecl()));
} else if (const auto *UsedClass =
Result.Nodes.getNodeAs<CXXRecordDecl>("used_class")) {
const auto *DC = Result.Nodes.getNodeAs<Decl>("dc");
assert(DC);
+ DEBUG(llvm::dbgs() << "Find helper class usage: "
+ << UsedClass->getNameAsString() << " (" << UsedClass
+ << ")\n");
RG->addEdge(getOutmostClassOrFunDecl(DC->getCanonicalDecl()), UsedClass);
}
}
OpenPOWER on IntegriCloud