| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
constant Objective-C strings.
llvm-svn: 94274
|
| |
|
|
|
|
| |
broken way that can give conflicts on method names containing underscores, but is needed for gdb to work because gdb does not know how to read ObjC class tables and relies on the mangling).
llvm-svn: 93427
|
| |
|
|
| |
llvm-svn: 93169
|
| |
|
|
| |
llvm-svn: 92973
|
| |
|
|
| |
llvm-svn: 92846
|
| |
|
|
| |
llvm-svn: 92138
|
| |
|
|
|
|
|
|
| |
This fixes throwing exceptions inside @catch blocks nested inside outer @try blocks and also fixes jumping from an inner @finally to an outer @finally (via any relevant @catch blocks).
The code exhibiting this bug was based on code from CGObjCMac. I believe that this bug may still be present on the Mac runtimes, although the test case in the bug contains a few GNUisms and won't compile without some minor tweaks with Apple's libobjc.
llvm-svn: 92117
|
| |
|
|
|
|
| |
worrying about the lifetime.
llvm-svn: 90052
|
| |
|
|
| |
llvm-svn: 89457
|
| |
|
|
|
|
| |
GNU ABI.
llvm-svn: 89133
|
| |
|
|
|
|
| |
structures for the GNU runtime.
llvm-svn: 88937
|
| |
|
|
|
|
| |
Fix the clang build.
llvm-svn: 84107
|
| |
|
|
| |
llvm-svn: 83964
|
| |
|
|
|
|
| |
(objc GC's API).
llvm-svn: 82724
|
| |
|
|
|
|
|
|
|
|
|
| |
Several of the existing methods were identical to their respective
specializations, and so have been removed entirely. Several more 'leaf'
optimizations were introduced.
The getAsFoo() methods which imposed extra conditions, like
getAsObjCInterfacePointerType(), have been left in place.
llvm-svn: 82501
|
| |
|
|
|
|
| |
which will be going away (ie. it's becoming a required parameter) later today.
llvm-svn: 82323
|
| |
|
|
|
|
|
|
| |
This fixes some bad -O0 codegen and the unnecessary clearing of al on entry to objc_msgSend for most message sends.
<rdar://problem/7102824> [irgen] unnecessary xorb on calls to objc_msgSend on x86_64
llvm-svn: 82118
|
| |
|
|
| |
llvm-svn: 82117
|
| |
|
|
| |
llvm-svn: 81778
|
| |
|
|
| |
llvm-svn: 81570
|
| |
|
|
| |
llvm-svn: 81462
|
| |
|
|
| |
llvm-svn: 81346
|
| |
|
|
|
|
| |
API for copying GC'able aggregates (Next runtime only).
llvm-svn: 80607
|
| |
|
|
|
|
|
| |
Added -fconstant-string-class= option.
Added __has_feature() test for non-fragile ABI.
llvm-svn: 80591
|
| |
|
|
|
|
|
|
|
|
| |
Objective-C code.
This currently breaks test/SemaObjC/id-isa-ref.m and issues some spurious warnings when you attempt to assign a struct objc_class* value to a Class variable. The test case probably should fail as it's written, because without the definition of Class the compiler should not assume struct objc_class* is a valid receiver type, but it's left broken because it would be nice if we could get that passing too for the special case of isa.
Approved by snaroff.
llvm-svn: 79248
|
| |
|
|
| |
llvm-svn: 78957
|
| |
|
|
| |
llvm-svn: 78946
|
| |
|
|
| |
llvm-svn: 78259
|
| |
|
|
| |
llvm-svn: 78161
|
| |
|
|
| |
llvm-svn: 77731
|
| |
|
|
| |
llvm-svn: 77722
|
| |
|
|
| |
llvm-svn: 77638
|
| |
|
|
| |
llvm-svn: 77514
|
| |
|
|
| |
llvm-svn: 77492
|
| |
|
|
| |
llvm-svn: 77349
|
| |
|
|
| |
llvm-svn: 77267
|
| |
|
|
| |
llvm-svn: 77012
|
| |
|
|
| |
llvm-svn: 76959
|
| |
|
|
| |
llvm-svn: 76327
|
| |
|
|
|
|
|
|
| |
llvm.used, just
populate CGM's list directly.
llvm-svn: 76266
|
| |
|
|
| |
llvm-svn: 75705
|
| |
|
|
| |
llvm-svn: 75641
|
| |
|
|
| |
llvm-svn: 75446
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 75041
|
| |
|
|
| |
llvm-svn: 75028
|
| |
|
|
| |
llvm-svn: 74986
|
| |
|
|
|
|
|
| |
when struct variables with GC'able members are copied into.
Will provide a test case later.
llvm-svn: 74984
|
| |
|
|
|
|
|
|
| |
errors when you reference a class before defining it (GNU runtime).
Patch by David Chisnall.
llvm-svn: 74772
|
| |
|
|
| |
llvm-svn: 74585
|