diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-12-15 20:29:51 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-12-15 20:29:51 +0000 |
commit | 7723fec9b45b7258c0eddf4cbfd0d335348f5edc (patch) | |
tree | 03c5627167c19fe9a0214fb192308111ea4ebdf4 /lib/Sema/IdentifierResolver.cpp | |
parent | 018887209f51de943c17718a6f3bce904d612813 (diff) |
Keep track of all declarations of an Objective-C class (both forward
declarations and definitions) as ObjCInterfaceDecls within the same
redeclaration chain. This new representation matches what we do for
C/C++ variables/functions/classes/templates/etc., and makes it
possible to answer the query "where are all of the declarations of
this class?"
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146679 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/IdentifierResolver.cpp')
-rw-r--r-- | lib/Sema/IdentifierResolver.cpp | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/lib/Sema/IdentifierResolver.cpp b/lib/Sema/IdentifierResolver.cpp index 812f5d64fa..a80f23f58e 100644 --- a/lib/Sema/IdentifierResolver.cpp +++ b/lib/Sema/IdentifierResolver.cpp @@ -318,15 +318,6 @@ static DeclMatchKind compareDeclarations(NamedDecl *Existing, NamedDecl *New) { return DMK_Ignore; } - // If the declarations are both Objective-C classes, and one is a forward - // declaration and the other is not, take the full definition. - // FIXME: At some point, we'll actually have to detect collisions better. - // This logic, however, belongs in the AST reader, not here. - if (ObjCInterfaceDecl *ExistingIFace = dyn_cast<ObjCInterfaceDecl>(Existing)) - if (ObjCInterfaceDecl *NewIFace = dyn_cast<ObjCInterfaceDecl>(New)) - if (ExistingIFace->isForwardDecl() != NewIFace->isForwardDecl()) - return ExistingIFace->isForwardDecl()? DMK_Replace : DMK_Ignore; - return DMK_Different; } |