aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/ModuleBuilder.cpp
diff options
context:
space:
mode:
authorAlexis Hunt <alercah@gmail.com>2011-05-06 20:44:56 +0000
committerAlexis Hunt <alercah@gmail.com>2011-05-06 20:44:56 +0000
commit4a8ea1092abe14eb8e837e2a080b74c958213cd4 (patch)
treefa15f407674a846c0f26a4036b6836c441fc78b9 /clang/lib/CodeGen/ModuleBuilder.cpp
parent2518f8376d7dcaa28e17c96a34bdd9e0f389cd11 (diff)
downloadllvm-4a8ea1092abe14eb8e837e2a080b74c958213cd4.zip
llvm-4a8ea1092abe14eb8e837e2a080b74c958213cd4.tar.gz
llvm-4a8ea1092abe14eb8e837e2a080b74c958213cd4.tar.bz2
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. llvm-svn: 131013
Diffstat (limited to 'clang/lib/CodeGen/ModuleBuilder.cpp')
-rw-r--r--clang/lib/CodeGen/ModuleBuilder.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/ModuleBuilder.cpp b/clang/lib/CodeGen/ModuleBuilder.cpp
index 8945028..4a2c4ab 100644
--- a/clang/lib/CodeGen/ModuleBuilder.cpp
+++ b/clang/lib/CodeGen/ModuleBuilder.cpp
@@ -79,7 +79,7 @@ namespace {
MEnd = D->decls_end();
M != MEnd; ++M)
if (CXXMethodDecl *Method = dyn_cast<CXXMethodDecl>(*M))
- if (Method->isThisDeclarationADefinition() &&
+ if (Method->doesThisDeclarationHaveABody() &&
(Method->hasAttr<UsedAttr>() ||
Method->hasAttr<ConstructorAttr>()))
Builder->EmitTopLevelDecl(Method);