summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCMac.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Thread CGFunctionInfo construction through CodeGenTypes.Daniel Dunbar2009-02-021-4/+5
| | | | | | - Inefficient & leaks memory currently, will be cleaned up subsequently. llvm-svn: 63567
* More ABI API cleanup.Daniel Dunbar2009-02-021-2/+2
| | | | | | | - Lift CGFunctionInfo creation above ReturnTypeUsesSret and EmitFunction{Epi,Pro}log. llvm-svn: 63553
* ABI handling API changes.Daniel Dunbar2009-02-021-6/+6
| | | | | | | | | | | - Lift CGFunctionInfo creation up to callers of EmitCall. - Move isVariadic bit out of CGFunctionInfo, take as argument to GetFunctionType instead. No functionality change. llvm-svn: 63550
* Refactored code gen for ivar access in preparation forFariborz Jahanian2009-02-021-0/+26
| | | | | | objc2 nonfragile ivar access code gen. llvm-svn: 63541
* Use target alignment API to set objc2's meta-dataFariborz Jahanian2009-01-311-13/+20
| | | | | | alignment. llvm-svn: 63470
* Kill off CGCallInfo, always use CGFunctionInfo for encapsulatingDaniel Dunbar2009-01-311-2/+2
| | | | | | function/call info. llvm-svn: 63466
* class meta-data belong to __objc_data section (in objc2Fariborz Jahanian2009-01-311-1/+1
| | | | | | nonfragile abi). llvm-svn: 63461
* Recognize class's visibility attribute and set its linkageFariborz Jahanian2009-01-311-6/+18
| | | | | | to private extern (in objc2 nonfragile abi). llvm-svn: 63460
* Missed another mis-alignment of an objc2 meta-data.Fariborz Jahanian2009-01-301-1/+1
| | | | llvm-svn: 63453
* Setting correct alignent for objc2 meta-data.Fariborz Jahanian2009-01-301-0/+12
| | | | llvm-svn: 63445
* add imag_info section and data (for objc2 nonfragile abi).Fariborz Jahanian2009-01-301-6/+17
| | | | llvm-svn: 63430
* Generate list of implemented classes and categories in theirFariborz Jahanian2009-01-301-1/+56
| | | | | | own sections (related to objc2 nonfragile abi). llvm-svn: 63418
OpenPOWER on IntegriCloud