llvm-project/clang/test/PCH
Steve Naroff 7cae42b07a This patch includes a conceptually simple, but very intrusive/pervasive change.
The idea is to segregate Objective-C "object" pointers from general C pointers (utilizing the recently added ObjCObjectPointerType). The fun starts in Sema::GetTypeForDeclarator(), where "SomeInterface *" is now represented by a single AST node (rather than a PointerType whose Pointee is an ObjCInterfaceType). Since a significant amount of code assumed ObjC object pointers where based on C pointers/structs, this patch is very tedious. It should also explain why it is hard to accomplish this in smaller, self-contained patches.

This patch does most of the "heavy lifting" related to moving from PointerType->ObjCObjectPointerType. It doesn't include all potential "cleanups". The good news is additional cleanups can be done later (some are noted in the code). This patch is so large that I didn't want to include any changes that are purely aesthetic.

By making the ObjC types truly built-in, they are much easier to work with (and require fewer "hacks"). For example, there is no need for ASTContext::isObjCIdStructType() or ASTContext::isObjCClassStructType()! We believe this change (and the follow-up cleanups) will pay dividends over time. 

Given the amount of code change, I do expect some fallout from this change (though it does pass all of the clang tests). If you notice any problems, please let us know asap! Thanks.

llvm-svn: 75314
2009-07-10 23:34:53 +00:00
..
libroot/usr/include Introduce the notion of "Relocatable" precompiled headers, which are built 2009-07-07 00:12:59 +00:00
asm.c Make this test portable to non-x86 hosts, patch by Mark Cianciosa! 2009-05-07 04:21:16 +00:00
asm.h PCH support for inline assembly statements. 2009-04-17 20:57:14 +00:00
attrs.c make sure to verify that the "non pch" runs worked. 2009-04-18 18:45:36 +00:00
attrs.h PCH support for declaration attributes 2009-04-15 21:30:51 +00:00
blocks.c make sure to verify that the "non pch" runs worked. 2009-04-18 18:45:36 +00:00
blocks.h PCH support for blocks 2009-04-17 19:21:43 +00:00
builtins.c Lazy deserialization of the declaration chains associated with 2009-04-21 22:25:48 +00:00
builtins.h Lazy deserialization of the declaration chains associated with 2009-04-21 22:25:48 +00:00
enum.c make sure to verify that the "non pch" runs worked. 2009-04-18 18:45:36 +00:00
enum.h Add PCH support for ImplicitCastExprs. This is the first expression 2009-04-14 23:32:43 +00:00
exprs.c make sure to verify that the "non pch" runs worked. 2009-04-18 18:45:36 +00:00
exprs.h PCH support for CompoundLiteralExpr. This is the last C expression 2009-04-16 02:33:48 +00:00
ext_vector.c Add Sema::ExtVectorDecls and Sema::ObjCCategoryImpls to the PCH file. Since these vectors are very, very rarely used and, when used in headers, and even when used are relatively small, we load them eagerly. 2009-04-27 20:06:05 +00:00
ext_vector.h Add Sema::ExtVectorDecls and Sema::ObjCCategoryImpls to the PCH file. Since these vectors are very, very rarely used and, when used in headers, and even when used are relatively small, we load them eagerly. 2009-04-27 20:06:05 +00:00
external-defs.c Clean up and de-XFAIL-ify PCH test for external definitions 2009-04-22 22:09:39 +00:00
external-defs.h Clean up and de-XFAIL-ify PCH test for external definitions 2009-04-22 22:09:39 +00:00
functions.c make sure to verify that the "non pch" runs worked. 2009-04-18 18:45:36 +00:00
functions.h PCH support for functions and their parameters. 2009-04-13 22:18:37 +00:00
fuzzy-pch.c Implement checking for macro definitions that occur on the command 2009-04-28 20:33:11 +00:00
fuzzy-pch.h Allow some differences between the predefines buffer used to build a 2009-04-28 18:58:38 +00:00
line-directive.c make sure to verify that the "non pch" runs worked. 2009-04-18 18:45:36 +00:00
line-directive.h Include the SourceManager's line table in the PCH file. We can now 2009-04-13 16:31:14 +00:00
method_pool.h PCH support for the global method pool (= instance and factory method 2009-04-24 21:10:55 +00:00
method_pool.m PCH support for the global method pool (= instance and factory method 2009-04-24 21:10:55 +00:00
multiple_decls.c make sure to verify that the "non pch" runs worked. 2009-04-18 18:45:36 +00:00
multiple_decls.h Fix two embarrassing PCH bugs: 2009-04-17 21:46:47 +00:00
nonvisible-external-defs.c Support locally-declared external declarations in PCH files 2009-04-22 22:18:58 +00:00
nonvisible-external-defs.h Support locally-declared external declarations in PCH files 2009-04-22 22:18:58 +00:00
objc_exprs.h Add PCH read/write support for Objective-C Selectors. 2009-04-23 10:39:46 +00:00
objc_exprs.m This patch includes a conceptually simple, but very intrusive/pervasive change. 2009-07-10 23:34:53 +00:00
objc_import.h Add PCH support for #import. 2009-04-24 20:03:17 +00:00
objc_import.m Add PCH support for #import. 2009-04-24 20:03:17 +00:00
objc_methods.h More PushOnScopeChain() FIXME's. 2009-04-23 16:00:56 +00:00
objc_methods.m PCH support for all of the predefined Objective-C types, such as id, 2009-04-23 22:29:11 +00:00
objc_property.h PCH support for Objective-C property declarations (UNTESTED!) 2009-04-22 23:20:34 +00:00
objc_property.m PCH support for all of the predefined Objective-C types, such as id, 2009-04-23 22:29:11 +00:00
pr4489.c Make ASTContext explicitly keep track of the declaration for the C 2009-07-07 16:35:42 +00:00
preprocess.c Make precompiled headers work with -E. When we're only preprocessing 2009-05-12 01:31:05 +00:00
preprocess.h Make precompiled headers work with -E. When we're only preprocessing 2009-05-12 01:31:05 +00:00
reloc.c Introduce the notion of "Relocatable" precompiled headers, which are built 2009-07-07 00:12:59 +00:00
stmts.c make sure to verify that the "non pch" runs worked. 2009-04-18 18:45:36 +00:00
stmts.h Test PCH support for VLAs 2009-04-22 00:21:21 +00:00
struct.c Lazy deserialization of identifiers in PCH files fixed a problem with 2009-04-21 22:48:38 +00:00
struct.h PCH support for a few very, very simple kinds of expressions. Hook up 2009-04-14 21:18:50 +00:00
tentative-defs.c Support tentative definitions in precompiled headers. This isn't likely 2009-04-22 22:02:47 +00:00
tentative-defs.h Support tentative definitions in precompiled headers. This isn't likely 2009-04-22 22:02:47 +00:00
types.c Test PCH support for VLAs 2009-04-22 00:21:21 +00:00
types.h Test PCH support for VLAs 2009-04-22 00:21:21 +00:00
va_arg.c Fix a problem with the RUN line of one of the PCH tests 2009-04-27 18:49:47 +00:00
va_arg.h PCH tests for va_arg expressions. Verified that the blocks test does create a BlockDeclRefExpr 2009-04-17 20:06:59 +00:00
variables.c Eliminate a FIXME in one of the PCH test cases 2009-04-22 00:17:41 +00:00
variables.h PCH support for a few very, very simple kinds of expressions. Hook up 2009-04-14 21:18:50 +00:00