llvm-project/clang/lib/Sema
Ted Kremenek 707ece6025 Do not register ObjCInterfaceDecls implicitly created by @class in the
current DeclContext.  These "imaginary" declarations pose issues for
clients searching DeclContext for actual declarations.  Instead,
register them for name lookup, and add the ObjCInterfaceDecl later to
the DeclContext when we hit an actual @interface declaration.

This also fixes a bug where the invariant that the Decls in a
DeclContext are sorted in order of their appearance is no longer
violated.  What could happen is that an @class causes an
ObjCInterfaceDecl to get added first to the DeclContext, then the
ObjCClassDecl itself is added, and then later the SourceLocation of
the ObjCInterfaceDecl is updated with the correct location (which is
later in the file).  This breaks an assumed invariant in
ResolveLocation.cpp (and possibly other clients).

llvm-svn: 89160
2009-11-17 22:58:30 +00:00
..
CMakeLists.txt Test exception spec compatibility on return type and parameters. 2009-10-11 09:03:14 +00:00
CXXFieldCollector.h Unifies the name-lookup mechanisms used in various parts of the AST 2008-12-11 16:49:14 +00:00
CodeCompleteConsumer.cpp StringRef'ify CodeCompletionString 2009-11-17 16:43:05 +00:00
IdentifierResolver.cpp Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
IdentifierResolver.h Remove tabs, and whitespace cleanups. 2009-09-09 15:08:12 +00:00
JumpDiagnostics.cpp Silence some warnings produced by Clang, and add a missing header 2009-11-17 06:14:37 +00:00
Makefile Installation of Clang libraries and headers, from Axel Naumann! 2009-10-08 22:15:31 +00:00
ParseAST.cpp Fixes a typo, reported by Doug. 2009-11-17 17:15:16 +00:00
Sema.cpp Rework Sema code completion interface. 2009-11-13 08:58:20 +00:00
Sema.h Store "sugared" decls in LookupResults (i.e. decl aliases like using declarations); 2009-11-17 07:50:12 +00:00
SemaAccess.cpp Refactor the code that walks a C++ inheritance hierarchy, searching 2009-10-06 17:59:45 +00:00
SemaAttr.cpp Carry lookup configuration throughout lookup on the LookupResult. Give 2009-11-17 02:14:36 +00:00
SemaCXXCast.cpp First part of changes to eliminate problems with cv-qualifiers and 2009-11-16 21:35:15 +00:00
SemaCXXScopeSpec.cpp Carry lookup configuration throughout lookup on the LookupResult. Give 2009-11-17 02:14:36 +00:00
SemaChecking.cpp Adjust format attribute index for implicit object arguments. Fixes PR5521. 2009-11-17 18:02:24 +00:00
SemaCodeComplete.cpp Implement code completion for Objective-C message sends to "super". 2009-11-17 17:59:40 +00:00
SemaDecl.cpp Unify the way destructor epilogues are generated for synthesized and regular destructors. Also fix PR5529. 2009-11-17 04:44:12 +00:00
SemaDeclAttr.cpp Start support of weak_import objective-c classes. 2009-11-17 19:08:08 +00:00
SemaDeclCXX.cpp Silence some warnings produced by Clang, and add a missing header 2009-11-17 06:14:37 +00:00
SemaDeclObjC.cpp Do not register ObjCInterfaceDecls implicitly created by @class in the 2009-11-17 22:58:30 +00:00
SemaExceptionSpec.cpp First part of changes to eliminate problems with cv-qualifiers and 2009-11-16 21:35:15 +00:00
SemaExpr.cpp Carry lookup configuration throughout lookup on the LookupResult. Give 2009-11-17 02:14:36 +00:00
SemaExprCXX.cpp Require the object type of a member access expression ("." or "->") to 2009-11-17 05:17:33 +00:00
SemaExprObjC.cpp Remove default argument for ImpCastExprToType. Add appropriate argument 2009-10-20 08:27:19 +00:00
SemaInit.cpp First part of changes to eliminate problems with cv-qualifiers and 2009-11-16 21:35:15 +00:00
SemaLookup.cpp Temporarily unbreak the clang-on-llvm tests. :) Not going to fix unresolved 2009-11-17 10:36:41 +00:00
SemaOverload.cpp Improve location information when adding conversion candidates 2009-11-17 21:16:22 +00:00
SemaOverload.h This patch implements Sema for clause 13.3.3.1p4. 2009-11-06 00:23:08 +00:00
SemaStmt.cpp First part of changes to eliminate problems with cv-qualifiers and 2009-11-16 21:35:15 +00:00
SemaTemplate.cpp Require the object type of a member access expression ("." or "->") to 2009-11-17 05:17:33 +00:00
SemaTemplate.h Implement partial ordering of function template specializations 2009-09-14 18:39:43 +00:00
SemaTemplateDeduction.cpp First part of changes to eliminate problems with cv-qualifiers and 2009-11-16 21:35:15 +00:00
SemaTemplateInstantiate.cpp Instead of hanging a using declaration's target decls directly off the using 2009-11-17 05:59:44 +00:00
SemaTemplateInstantiateDecl.cpp Implement template instantiation for using directives, which is dead simple. 2009-11-17 06:07:40 +00:00
SemaType.cpp Make sure that Type::getAs<ArrayType>() (or Type::getAs<subclass of 2009-11-09 22:08:55 +00:00
TreeTransform.h First part of changes to eliminate problems with cv-qualifiers and 2009-11-16 21:35:15 +00:00