diff options
author | Sean Hunt <scshunt@csclub.uwaterloo.ca> | 2011-05-06 20:44:56 +0000 |
---|---|---|
committer | Sean Hunt <scshunt@csclub.uwaterloo.ca> | 2011-05-06 20:44:56 +0000 |
commit | 10620eb5164e31208fcbf0437cd79ae535ed0559 (patch) | |
tree | 50d63ef0fcdc9a227a849acbbf89855128ac34bc /lib/Index | |
parent | d4b9ee3b6ad82843c55909d6499232fce530113e (diff) |
Modify some deleted function methods to better reflect reality:
- New isDefined() function checks for deletedness
- isThisDeclarationADefinition checks for deletedness
- New doesThisDeclarationHaveABody() does what
isThisDeclarationADefinition() used to do
- The IsDeleted bit is not propagated across redeclarations
- isDeleted() now checks the canoncial declaration
- New isDeletedAsWritten() does what it says on the tin.
- isUserProvided() now correct (thanks Richard!)
This fixes the bug that we weren't catching
void foo() = delete;
void foo() {}
as being a redefinition.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131013 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Index')
-rw-r--r-- | lib/Index/CallGraph.cpp | 2 | ||||
-rw-r--r-- | lib/Index/Indexer.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/lib/Index/CallGraph.cpp b/lib/Index/CallGraph.cpp index bf3f5a8a8d..94790b8fbc 100644 --- a/lib/Index/CallGraph.cpp +++ b/lib/Index/CallGraph.cpp @@ -74,7 +74,7 @@ void CallGraph::addTU(ASTContext& Ctx) { I != E; ++I) { if (FunctionDecl *FD = dyn_cast<FunctionDecl>(*I)) { - if (FD->isThisDeclarationADefinition()) { + if (FD->doesThisDeclarationHaveABody()) { // Set caller's ASTContext. Entity Ent = Entity::get(FD, Prog); CallGraphNode *Node = getOrInsertFunction(Ent); diff --git a/lib/Index/Indexer.cpp b/lib/Index/Indexer.cpp index 7f21c4f303..ebba43c474 100644 --- a/lib/Index/Indexer.cpp +++ b/lib/Index/Indexer.cpp @@ -39,7 +39,7 @@ public: Decl *D = Ent.getDecl(TU->getASTContext()); if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) - if (FD->isThisDeclarationADefinition()) + if (FD->doesThisDeclarationHaveABody()) DefMap[Ent] = std::make_pair(FD, TU); } }; |