llvm-project/clang/lib/AST
Douglas Gregor c0ac7d688e Move the definition-specific data of ObjCInterfaceDecl into a
separately-allocated DefinitionData structure, which we manage the
same way as CXXRecordDecl::DefinitionData. This prepares the way for
making ObjCInterfaceDecls redeclarable, to more accurately model
forward declarations of Objective-C classes and eliminate the mutation
of ObjCInterfaceDecl that causes us serious trouble in the AST reader.

Note that ObjCInterfaceDecl's accessors are fairly robust against
being applied to forward declarations, because Clang (and Sema in
particular) doesn't perform RequireCompleteType/hasDefinition() checks
everywhere it has to. Each of these overly-robust cases is marked with
a FIXME, which we can tackle over time.

llvm-svn: 146644
2011-12-15 05:27:12 +00:00
..
APValue.cpp Constant expression evaluation: add support for evaluation of member pointers 2011-11-17 22:56:20 +00:00
ASTConsumer.cpp Change ASTConsumer::HandleTopLevelDecl to return true for the parser to continue 2011-11-18 00:26:59 +00:00
ASTContext.cpp Replace all comparisons between ObjCInterfaceDecl pointers with calls 2011-12-15 00:29:59 +00:00
ASTDiagnostic.cpp Change the checks in the type aka printing. A confusing case where the string 2011-11-14 19:39:25 +00:00
ASTImporter.cpp Move the definition-specific data of ObjCInterfaceDecl into a 2011-12-15 05:27:12 +00:00
AttrImpl.cpp Generate Attr subclasses with TableGen. 2010-08-18 23:23:40 +00:00
CMakeLists.txt Allow getting all source locations of selector identifiers in a ObjCMessageExpr. 2011-10-03 06:36:51 +00:00
CXXABI.h Move isNearlyEmpty out into the ASTContext so it can be called from CodeGen as well. 2010-11-25 01:51:53 +00:00
CXXInheritance.cpp remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports 2011-07-23 10:55:15 +00:00
Decl.cpp Keep track of all of the import declarations that are parsed or 2011-12-03 00:30:27 +00:00
DeclBase.cpp Add ability to supply additional message to availability macros, 2011-12-10 00:28:41 +00:00
DeclCXX.cpp When we notice that a member function is defined with "= delete" or "= 2011-11-07 20:56:01 +00:00
DeclFriend.cpp Support C++ friend declarations for PCH. 2010-06-29 22:47:00 +00:00
DeclGroup.cpp I lied. Kill off a few more Destroy methods 2010-07-25 18:32:30 +00:00
DeclObjC.cpp Move the definition-specific data of ObjCInterfaceDecl into a 2011-12-15 05:27:12 +00:00
DeclPrinter.cpp Move the definition-specific data of ObjCInterfaceDecl into a 2011-12-15 05:27:12 +00:00
DeclTemplate.cpp Fixed source range for template implicit instantiations. 2011-10-03 20:34:03 +00:00
DeclarationName.cpp Change operator<< for raw_ostream and NamedDecl to take a reference instead of a pointer. 2011-10-14 18:45:37 +00:00
DumpXML.cpp objective-c: Treat top-level objective-c declarations 2011-08-27 20:50:59 +00:00
Expr.cpp Teach isConstantInitializer that numeric literals are constants, rather than 2011-12-09 06:47:34 +00:00
ExprCXX.cpp In Sema::MaybeBindToTemporary, create a CXXBindTemporaryExpr for an 2011-11-27 22:09:28 +00:00
ExprClassification.cpp Reference initialization with initializer lists. 2011-11-27 16:50:07 +00:00
ExprConstant.cpp Add checks and diagnostics for many of the cases which C++11 considers to not 2011-12-13 06:39:58 +00:00
ExternalASTSource.cpp Don't force the complete deserialization of the visible-declarations 2011-08-24 21:56:08 +00:00
InheritViz.cpp remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports 2011-07-23 10:55:15 +00:00
ItaniumCXXABI.cpp Extend the ASTContext constructor to delay the initialization of 2011-09-02 00:18:52 +00:00
ItaniumMangle.cpp Fix mangling substitutions for address-space-qualified class 2011-12-03 18:24:43 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
Mangle.cpp remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports 2011-07-23 10:55:15 +00:00
MicrosoftCXXABI.cpp Extend the ASTContext constructor to delay the initialization of 2011-09-02 00:18:52 +00:00
MicrosoftMangle.cpp Add Microsoft mangling of constructors and destructors. Patch by Dmitry! 2011-12-01 09:55:00 +00:00
NestedNameSpecifier.cpp Add a printing policy flag to suppress printing "<anonymous>::" prior 2011-11-03 00:16:13 +00:00
ParentMap.cpp [arcmt] More automatic transformations and safety improvements; rdar://9615812 : 2011-07-27 05:28:18 +00:00
RecordLayout.cpp More ASTRecordLayout changes for MS ABI; based on patch by r4start. 2011-10-21 22:49:56 +00:00
RecordLayoutBuilder.cpp Fixes a bug in calculation of field offsets of ms_struct 2011-12-12 21:16:36 +00:00
SelectorLocationsKind.cpp Fix crash when using archaic protocol, rdar://10238337 2011-10-05 21:28:06 +00:00
Stmt.cpp Extend the Stmt AST to make it easier to look through label, default, 2011-09-10 00:02:34 +00:00
StmtDumper.cpp There's no good reason to track temporaries in ExprWithCleanups, 2011-11-10 05:35:25 +00:00
StmtIterator.cpp Support for C++11 (non-template) alias declarations. 2011-04-15 14:24:37 +00:00
StmtPrinter.cpp Implement support for the __is_final type trait, to determine whether 2011-12-03 18:14:24 +00:00
StmtProfile.cpp Change the AST representation of operations on Objective-C 2011-11-06 09:01:30 +00:00
StmtViz.cpp Adapt to the DOTGraphTraits changes in LLVM. 2009-11-30 14:16:05 +00:00
TemplateBase.cpp Removing a bunch of dead returns/breaks after llvm_unreachables. 2011-09-23 20:26:49 +00:00
TemplateName.cpp Change operator<< for raw_ostream and NamedDecl to take a reference instead of a pointer. 2011-10-14 18:45:37 +00:00
Type.cpp Correctly perform integral promotions on wchar_t/char16_t/char32_t in C++. <rdar://problem/10309088>. 2011-10-26 07:22:48 +00:00
TypeLoc.cpp Provide better source info for template specializations with non-type arguments. 2011-11-22 20:00:10 +00:00
TypePrinter.cpp TypePrinter: print OpenCL address space names. Patch by Richard 2011-11-08 02:52:58 +00:00
VTTBuilder.cpp Move VTT builder to AST 2011-09-26 01:56:24 +00:00
VTableBuilder.cpp Make format string 64 bit safe. 2011-11-06 09:34:11 +00:00