summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCMac.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* More Next objc2's gc ivar layout bitmap work.Fariborz Jahanian2009-03-111-3/+128
| | | | | | Work in progress. llvm-svn: 66615
* More objc2's gc meta-data work related to ivar layout bitmap.Fariborz Jahanian2009-03-101-6/+55
| | | | | | Work in progress. llvm-svn: 66546
* NeXT: Set alignment on a number of ObjC metadata variables (matching llvm-gcc).Daniel Dunbar2009-03-091-11/+11
| | | | llvm-svn: 66481
* NeXT: Move some routines over to CreateMetadataVar.Daniel Dunbar2009-03-091-169/+81
| | | | | | - No intended functionality change. llvm-svn: 66473
* Tweak CreateMetadataVar, take the exact alignment instead of relyingDaniel Dunbar2009-03-091-7/+15
| | | | | | on LLVM TargetData. llvm-svn: 66455
* More fix for bitfield ivar meta-data and code gen accessing it.Fariborz Jahanian2009-03-091-8/+17
| | | | | | | Now, we can actually execute dejagnu test with bitfield ivars in non-fragile abi mode. llvm-svn: 66448
* Fix typo in pref commit.Daniel Dunbar2009-03-091-1/+1
| | | | llvm-svn: 66433
* NeXT: Add CreateMetadataVar utility method to encapsulate creation ofDaniel Dunbar2009-03-091-0/+34
| | | | | | | | Obj-C metadata variables (which generally should be handled the same, although they aren't currently). - No functionality change. llvm-svn: 66432
* Code refactoring. No functional change.Fariborz Jahanian2009-03-081-25/+17
| | | | llvm-svn: 66391
* correct bitfield ivar offset in ivar meta-data.Fariborz Jahanian2009-03-071-12/+27
| | | | | | (objc abi specific). llvm-svn: 66345
* Fixup our uses of various linkages to match how llvm now works. I think ↵Mike Stump2009-03-071-6/+8
| | | | | | | | they are all correct, but an extra set of ObjC eyes would be good. llvm-svn: 66342
* Back out the patch in r66302, and re-fix it properly. We assume for Eli Friedman2009-03-071-0/+6
| | | | | | | | performance that the type of the returned llvm::Value for an expression matches the converted type of the clang::Expr; mismatches will cause all sorts of errors and silent miscompilations. llvm-svn: 66321
* Cleanup EH a bit given changes to ObjCCatchStmt.Daniel Dunbar2009-03-061-13/+15
| | | | | | - No functionality change. llvm-svn: 66218
* More function stop for objc2's ivar layout bit map.Fariborz Jahanian2009-03-051-0/+50
| | | | llvm-svn: 66209
* 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
OpenPOWER on IntegriCloud