- Jul 31, 2009
-
-
Owen Anderson authored
llvm-svn: 77722
-
Owen Anderson authored
llvm-svn: 77638
-
- Jul 30, 2009
-
-
Owen Anderson authored
llvm-svn: 77514
-
- Jul 29, 2009
-
-
Owen Anderson authored
llvm-svn: 77492
-
- Jul 28, 2009
-
-
Owen Anderson authored
llvm-svn: 77349
-
Owen Anderson authored
llvm-svn: 77267
-
- Jul 25, 2009
-
-
Owen Anderson authored
llvm-svn: 77012
-
- Jul 24, 2009
-
-
Daniel Dunbar authored
llvm-svn: 76959
-
- Jul 18, 2009
-
-
Anders Carlsson authored
llvm-svn: 76327
-
Chris Lattner authored
populate CGM's list directly. llvm-svn: 76266
-
- Jul 15, 2009
-
-
Owen Anderson authored
llvm-svn: 75705
-
- Jul 14, 2009
-
-
Anders Carlsson authored
llvm-svn: 75641
-
- Jul 13, 2009
-
-
Owen Anderson authored
llvm-svn: 75446
-
- Jul 11, 2009
-
-
Steve Naroff authored
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
-
- Jul 08, 2009
-
-
Owen Anderson authored
llvm-svn: 75041
-
Owen Anderson authored
llvm-svn: 75028
-
Owen Anderson authored
llvm-svn: 74986
-
Fariborz Jahanian authored
when struct variables with GC'able members are copied into. Will provide a test case later. llvm-svn: 74984
-
- Jul 03, 2009
-
-
Fariborz Jahanian authored
This fixes the case where the wrong symbol is emitted leading to linking errors when you reference a class before defining it (GNU runtime). Patch by David Chisnall. llvm-svn: 74772
-
- Jul 01, 2009
-
-
Chris Lattner authored
llvm-svn: 74585
-
- Jun 30, 2009
-
-
Argyrios Kyrtzidis authored
Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating". Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit. llvm-svn: 74506
-
- Jun 23, 2009
-
-
Fariborz Jahanian authored
variables in ObjC's Next runtime mode. Next runtime also implicitly applies 'used' attribute on some of its meta-data. This results in two 'llvm.used' arrays to be generated, and one of them is renamed to 'llvm.used1'. llvm-svn: 74008
-
- Jun 15, 2009
-
-
Chris Lattner authored
"GCC emits an __objc_class_name_{classname} symbol for every class, and a corresponding reference to this symbol for every compilation unit that references the class. This causes linker errors when you try linking a program which references some classes but doesn't define them. The attached patch implements this support in clang, so you can compile a class with clang, reference it in a file compiled with GCC, and have it all work correctly." Patch by David Chisnall! llvm-svn: 73364
-
- Jun 04, 2009
-
-
Fariborz Jahanian authored
llvm-svn: 72827
-
- May 22, 2009
-
-
Fariborz Jahanian authored
compiled with -fobjc-sender-dependent-dispatch. This is used in AOP, COP, implementing object planes, and a few other things. Patch by David Chisnall. llvm-svn: 72275
-
- May 20, 2009
-
-
Fariborz Jahanian authored
It currently requires a patches to GNU libobjc (and so is not enabled by default) which are currently being tested and reviewed by GNUstep before being pushed upstream. This patch does not allow support for synthesized ivars, but does provide the infrastructure needed for supporting them. Patch by David Chisnall llvm-svn: 72175
-
- May 19, 2009
-
-
Fariborz Jahanian authored
This patch allows clang to generate code for declared properties on the GNU runtime. As with @synchronized, this requires some extra functions that are included with other libraries (not with the GNU runtime itself) and so will cause linker errors when these are not present. Patch by David Chisnall. llvm-svn: 72079
-
- May 17, 2009
-
-
Fariborz Jahanian authored
This patch fixes two bugs in the GNU Objective-C runtime implementation. One is a case in rethrowing exceptions where the C types don't match correctly (I already sent this patch to Daniel Dunbar, who found the bug, so it may have already been committed). The other fixes the case properties so that the methods generated as property accessors are added to the class structure correctly. Patch by David Chisnall. llvm-svn: 71980
-
- May 11, 2009
-
-
Chris Lattner authored
llvm-svn: 71451
-
- May 08, 2009
-
-
Chris Lattner authored
llvm-svn: 71227
-
Chris Lattner authored
"This patch fixes message sends to super in categories for the GNU runtime. This used to work, but I broke it when I modified the code to emit the same thing as GCC for message sends to super in classes." Patch by David Chisnall! llvm-svn: 71220
-
Chris Lattner authored
"This patch is a first pass at adding support for exceptions for the GNU runtime. There are a few limitations at present: - @synchronized() is not yet supported at all. gcc currently emits calls to runtime library functions that don't exist for this directive. - Only id @catch statements are currently working. This is enough for NS_DURING and friends, but I need to spend more time reading the output from gcc -S to work out how it finds the class pointer to make arbitrary class type catch statements work. - I've tested it with a few common cases[1] and the clang test suite (which doesn't test exceptions for the GNU runtime, but shows I haven't broken anything else), but there are probably a lot of cases I've missed." Patch by David Chisnall! llvm-svn: 71198
-
- May 05, 2009
-
-
Fariborz Jahanian authored
Patch by David Chisnall. llvm-svn: 71023
-
- May 04, 2009
-
-
Chris Lattner authored
"The attached diff fixes the //FIXME in message send to super. This should now be faster, and works in the presence of class posing. This is now the same approach as used in GCC (the earlier code was a quick hack to get something working)." Patch by David Chisnall! llvm-svn: 70877
-
Daniel Dunbar authored
The attached diff fixes the //FIXME in message send to super. This should now be faster, and works in the presence of class posing. This is now the same approach as used in GCC (the earlier code was a quick hack to get something working). llvm-svn: 70868
-
- May 03, 2009
-
-
Daniel Dunbar authored
not the shadow structure. llvm-svn: 70691
-
Daniel Dunbar authored
llvm-svn: 70683
-
- Apr 26, 2009
-
-
Chris Lattner authored
llvm-svn: 70105
-
Chris Lattner authored
"This fixes message sends to super in a way that both works with real code and passes the test in the test suite. It also fixes a crash when using recent versions of GNU libobjc and compiling modules that do not contain any constant strings but do contain a declaration of the constant string class and possible some other corner cases (thanks to Pete French for providing me with a test case for that one)." Patch by David Chisnall! llvm-svn: 70093
-
- Apr 23, 2009
-
-
Douglas Gregor authored
methods, class methods, and property implementations) and instead place all of these entities into the DeclContext. This eliminates more linear walks when looking for class or instance methods and should make PCH (de-)serialization of ObjCDecls trivial (and lazy). llvm-svn: 69849
-