diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-09-28 20:38:10 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-09-28 20:38:10 +0000 |
| commit | 9d5938ae8a117868a8258e6c2ca6f444e31274fd (patch) | |
| tree | 3525fff120a6e19745c63aaf64a669396db6605b /clang/lib/AST/ASTContext.cpp | |
| parent | 750272d912f1233d12206782d75dabbc690770b2 (diff) | |
| download | bcm5719-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.cpp | 4 |
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(); } |

