summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ASTContext.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-09-28 20:38:10 +0000
committerDouglas Gregor <dgregor@apple.com>2010-09-28 20:38:10 +0000
commit9d5938ae8a117868a8258e6c2ca6f444e31274fd (patch)
tree3525fff120a6e19745c63aaf64a669396db6605b /clang/lib/AST/ASTContext.cpp
parent750272d912f1233d12206782d75dabbc690770b2 (diff)
downloadbcm5719-llvm-9d5938ae8a117868a8258e6c2ca6f444e31274fd.tar.gz
bcm5719-llvm-9d5938ae8a117868a8258e6c2ca6f444e31274fd.zip
Centralize the management of CXXRecordDecl::DefinitionData's Empty bit
in CXXRecordDecl itself. Yes, this is also part of <rdar://problem/8459981>. This reinstates r114924, with one crucial bug fix: we were ignoring the implicit fields created by anonymous structs/unions when updating the bits in CXXRecordDecl, which means that a class/struct containing only an anonymous class/struct would be considered "empty". Hilarity follows. llvm-svn: 114980
Diffstat (limited to 'clang/lib/AST/ASTContext.cpp')
-rw-r--r--clang/lib/AST/ASTContext.cpp4
1 files changed, 0 insertions, 4 deletions
diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp
index fdeac1ebf87..57780ef981c 100644
--- a/clang/lib/AST/ASTContext.cpp
+++ b/clang/lib/AST/ASTContext.cpp
@@ -3138,10 +3138,6 @@ QualType ASTContext::getObjCFastEnumerationStateType() {
Field->setAccess(AS_public);
ObjCFastEnumerationStateTypeDecl->addDecl(Field);
}
- if (getLangOptions().CPlusPlus)
- if (CXXRecordDecl *CXXRD =
- dyn_cast<CXXRecordDecl>(ObjCFastEnumerationStateTypeDecl))
- CXXRD->setEmpty(false);
ObjCFastEnumerationStateTypeDecl->completeDefinition();
}
OpenPOWER on IntegriCloud