summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCMac.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Adds a template for a function for objc2's gc's ivar layoutFariborz Jahanian2009-03-051-4/+16
| | | | | | bitmap. llvm-svn: 66175
* Refactor code. Devang Patel2009-03-041-12/+24
| | | | llvm-svn: 66043
* Fix <rdar://problem/6640991> Exception handling executes wrong clause ↵Steve Naroff2009-03-031-19/+17
| | | | | | | | | | | (Daniel, please verify). Also necessary to fix: <rdar://problem/6632061> [sema] non object types should not be allowed in @catch statements <rdar://problem/6252237> [sema] qualified id should be disallowed in @catch statements llvm-svn: 65964
* First cut at zero-cost EH support.Daniel Dunbar2009-03-021-72/+210
| | | | | | | | | | | - Still manually generates the EH code; the parts related to cleanup need to be integrated into the cleanup stack (for proper interaction with VLAs, etc.). - Some differences vs gcc in corner cases; I believe our behavior is correct but need to verify/file bugs vs gcc. llvm-svn: 65809
* Make sure to invoke (not call) to objc_exception_throw if necessary.Daniel Dunbar2009-03-021-2/+11
| | | | llvm-svn: 65808
* Fix completely broken thinko in GetClassGlobal.Daniel Dunbar2009-03-021-1/+1
| | | | llvm-svn: 65807
* Obj-C non fragile ABI: Use GetClassGlobal in one more instance I missed.Daniel Dunbar2009-03-011-12/+1
| | | | llvm-svn: 65762
* Obj-C non fragile ABI: Add GetInterfaceEHType for getting the Obj-CDaniel Dunbar2009-03-011-3/+73
| | | | | | | exception typeinfo metadata, and a few other EH related types/functions. - No functionality change. llvm-svn: 65761
* NeXT: Unify code for creating a class global.Daniel Dunbar2009-03-011-85/+27
| | | | | | - No functionality change. llvm-svn: 65760
* ObjCAtCatchStmt's ParamStmt is always a DeclStmt.Daniel Dunbar2009-03-011-2/+1
| | | | llvm-svn: 65759
* Obscure code gen bug related to sending Fariborz Jahanian2009-02-281-7/+35
| | | | | | | message to 'super' in a class method declared in cateogy (darwin specific). llvm-svn: 65709
* Alignment of pointers in __objc_classlist must be on theirFariborz Jahanian2009-02-281-0/+2
| | | | | | | natural alignment. Otherwise, the excess hole confuses the objc2 runtime (this is darwin specific). llvm-svn: 65666
* Couple of meta-data segments were wrong. This patch fixes them.Fariborz Jahanian2009-02-261-2/+2
| | | | llvm-svn: 65578
* Fix an inconsistance in objc2's meta-data related toFariborz Jahanian2009-02-261-5/+18
| | | | | | the symbol for the root meta-data. llvm-svn: 65548
* patch for two things.Fariborz Jahanian2009-02-241-3/+5
| | | | | | | make sure objc2's nonfragile abi is enacted for Leopard too. add -fobjc-gc-only flag to the image_info symbol. llvm-svn: 65413
* Set flag for -fobjc-gc in IMAGE_INFO variable.Fariborz Jahanian2009-02-241-1/+5
| | | | llvm-svn: 65387
* Some initial Obj-C zero cost EH support.Daniel Dunbar2009-02-241-5/+134
| | | | | | | | | - Only handles cases with @try with no @catch blocks, and there are a number of problems with the implementation. Nevertheless, this is good enough to handled @synchronized correctly, and some other basic uses. llvm-svn: 65378
* Fix two @synchronized bugs found by inspection: the expression to sychronize ↵Daniel Dunbar2009-02-241-40/+32
| | | | | | | | | on should only be evaluated once, and it is evaluated outside the cleanup scope. Also, lift SyncEnter and SyncExit up in nervous anticipation of x86-64 zero cost EH. llvm-svn: 65362
* More objc's gc ir-gen stuff.Fariborz Jahanian2009-02-191-2/+4
| | | | llvm-svn: 65077
* Add support for throwing exceptions to the nonfragile ABIAnders Carlsson2009-02-161-15/+34
| | | | llvm-svn: 64692
* Added implementation of objc2's gc API calls forFariborz Jahanian2009-02-161-16/+70
| | | | | | nonfragile abi. llvm-svn: 64690
* assert/ErrorUnsupported in unimplemented stub functions instead ofDaniel Dunbar2009-02-161-16/+25
| | | | | | miscompiling. llvm-svn: 64647
* Obj-C non-fragile ABI: Fix types of a few globals; these were notDaniel Dunbar2009-02-151-20/+26
| | | | | | creating valid LLVM structures (although they work fined). llvm-svn: 64580
* Fixed a bad ir-gen bug which caused a dejagnu test to fail.Fariborz Jahanian2009-02-141-1/+1
| | | | | | | Now we are pretty close to be in sync with objc's classic abi when it comes to passing dejagnu objc executable tests. llvm-svn: 64569
* Fixed a problem caused by foreward @class useFariborz Jahanian2009-02-141-2/+2
| | | | | | | | which consequently caused a Seg fault. during meta-data generation. It also addresses an issue related to late binding of newly synthesize ivars (when we support it). llvm-svn: 64563
* Fixed a 64bit code gen bug of a cateogoryFariborz Jahanian2009-02-131-11/+17
| | | | | | implementation with no category declaration! llvm-svn: 64470
* Fix a bug whereby, an ivar used to synthesize a property belongsFariborz Jahanian2009-02-121-4/+25
| | | | | | to a base class (nonfragile abi ir gen bug). llvm-svn: 64391
* Several cleanups:Steve Naroff2009-02-121-1/+1
| | | | | | | | - rename isObjCIdType/isObjCClassType -> isObjCIdStructType/isObjCClassStructType. The previous name didn't do what you would expect. - add back isObjCIdType/isObjCClassType to do what you would expect. Not currently used, however many of the isObjCIdStructType/isObjCClassStructType clients could be converted over time. - move static Sema function areComparableObjCInterfaces to ASTContext (renamed to areComparableObjCPointerTypes, since it now operates on pointer types). llvm-svn: 64385
* ir-gen for objc's @selector expression in nonfragile abi mode.Fariborz Jahanian2009-02-111-1/+26
| | | | llvm-svn: 64323
* This patch is all it takes to pass all objc2's fast-enumerationFariborz Jahanian2009-02-101-1/+1
| | | | | | tests in the dejagnu test suite in the nonfragile abi mode. llvm-svn: 64251
* Generate ir for ivar offset. This will passFariborz Jahanian2009-02-101-23/+42
| | | | | | | type-nsobject-attribute.m in the dejagnu test suite in the nonfragile abi mode. llvm-svn: 64233
* Some refactoring of Ivar offset code gen.Fariborz Jahanian2009-02-101-3/+36
| | | | | | in preparation for nonfragile ivar offset work. llvm-svn: 64225
* Remove the last remnants of the Obj-C EH stack code.Anders Carlsson2009-02-101-30/+0
| | | | llvm-svn: 64205
* Use the new cleanup infrastructure for @try/@finallyAnders Carlsson2009-02-091-21/+17
| | | | llvm-svn: 64160
* Add a simplified EmitJumpThroughFinally and use it in CGObjC in preparation ↵Anders Carlsson2009-02-081-9/+12
| | | | | | of making it use the cleanup stack. llvm-svn: 64098
* Split the exception object out into its own stack.Anders Carlsson2009-02-071-5/+7
| | | | llvm-svn: 64032
* Simplify the Objective-C exception handling.Anders Carlsson2009-02-071-9/+22
| | | | llvm-svn: 64031
* Fixed an objc2 nonfragile-abi code gen bug.Fariborz Jahanian2009-02-061-4/+0
| | | | | | | Now we can say 'hello world' objective-c style in the nonfragile abi. llvm-svn: 63981
* objc2's nonfragile abi API for messages sent to 'super'.Fariborz Jahanian2009-02-061-7/+110
| | | | llvm-svn: 63959
* objc2's nonfragile-abi - API selection for when receiver is a classFariborz Jahanian2009-02-051-10/+59
| | | | llvm-svn: 63881
* More objc2's API chanes.Fariborz Jahanian2009-02-051-1/+3
| | | | llvm-svn: 63878
* #ifdef'out out objc2 API selection which is not done in gcc (unlikeFariborz Jahanian2009-02-051-2/+10
| | | | | | the documentation to the contrary). llvm-svn: 63871
* This patch generates messaging code for objc2's non-fragile abi.Fariborz Jahanian2009-02-051-4/+21
| | | | llvm-svn: 63810
* Some early code for objc2's nonfragile abi messaging.Fariborz Jahanian2009-02-041-12/+93
| | | | llvm-svn: 63770
* Change construction of common ObjC functions to use CGCallDaniel Dunbar2009-02-041-57/+41
| | | | | | | | | infrastructure to construct function type. - For consistencty, we should probably always use this to construct function types, but these are absolutely necessary to ensure that we can emit calls to these functions. llvm-svn: 63695
* Some function stub added for new abi messaging.Fariborz Jahanian2009-02-041-3/+36
| | | | llvm-svn: 63691
* Several new declarations for objc2 nonfragileFariborz Jahanian2009-02-031-0/+115
| | | | | | abi messaging. llvm-svn: 63684
* ir-gen for nonfragile ivar bitfield access (objc2 nonfragile abi).Fariborz Jahanian2009-02-031-21/+36
| | | | llvm-svn: 63644
* Minor objc2 bug fix.Fariborz Jahanian2009-02-031-2/+2
| | | | llvm-svn: 63635
* objc2's ir-gen for nonfragile ivar access.Fariborz Jahanian2009-02-031-10/+55
| | | | llvm-svn: 63578
OpenPOWER on IntegriCloud