summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCGNU.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Created __builtin___NSStringMakeConstantString() builtin, which generates ↵David Chisnall2010-01-231-10/+15
| | | | | | constant Objective-C strings. llvm-svn: 94274
* Made ObjC method name mangling match GCC (which does it in a stupid and ↵David Chisnall2010-01-141-2/+5
| | | | | | 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
* Fix type mismatch on 64-bit platforms (GNU ObjC).David Chisnall2010-01-111-1/+1
| | | | llvm-svn: 93169
* Export a public symbol for classes with the GNU runtime. David Chisnall2010-01-081-5/+16
| | | | llvm-svn: 92973
* Fix for PR5691David Chisnall2010-01-061-1/+1
| | | | llvm-svn: 92846
* Pass ReturnValueSlot to EmitCall. No functionality change yet.Anders Carlsson2009-12-241-2/+2
| | | | llvm-svn: 92138
* Fix for bug 5691.David Chisnall2009-12-241-6/+24
| | | | | | | | 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
* Change LangOptions::ObjCConstantStringClass to an std::string to avoid ↵Daniel Dunbar2009-11-291-2/+2
| | | | | | worrying about the lifetime. llvm-svn: 90052
* Fixed crash when using undefined protocols (GNU runtime).David Chisnall2009-11-201-2/+7
| | | | llvm-svn: 89457
* Fixed bug where ivar offsets were being initialized as 0 with the fragile ↵David Chisnall2009-11-171-1/+1
| | | | | | GNU ABI. llvm-svn: 89133
* Fixed two minor differences between clang and GCC-generated runtime ↵David Chisnall2009-11-161-1/+3
| | | | | | structures for the GNU runtime. llvm-svn: 88937
* There is now only one version of eh.selector and eh.typeid.for.Duncan Sands2009-10-141-9/+4
| | | | | | Fix the clang build. llvm-svn: 84107
* Simplify pointer creation with the new Type::getInt*Ptr methods.Benjamin Kramer2009-10-131-2/+2
| | | | llvm-svn: 83964
* Patch fixes a code gen. bug in generation of objc_assign_ivarFariborz Jahanian2009-09-241-2/+4
| | | | | | (objc GC's API). llvm-svn: 82724
* Change all the Type::getAsFoo() methods to specializations of Type::getAs().John McCall2009-09-211-3/+3
| | | | | | | | | | | 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
* Make clang stop relying on ConstantStruct::get's default value for isPackedNick Lewycky2009-09-191-3/+3
| | | | | | which will be going away (ie. it's becoming a required parameter) later today. llvm-svn: 82323
* IRgen/ObjC: Correctly construct the function info for variadic message sends.Daniel Dunbar2009-09-171-2/+4
| | | | | | | | 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
* IRgen/ObjC: Make the target method decl available to GenerateMessageSendSuper.Daniel Dunbar2009-09-171-3/+5
| | | | llvm-svn: 82117
* Small fix to stop CGObjCGNU emitting symbols that break some versions of gas.David Chisnall2009-09-141-1/+1
| | | | llvm-svn: 81778
* Fix use of uninitialized, David please check.Daniel Dunbar2009-09-111-1/+1
| | | | llvm-svn: 81570
* Non fragile ABI for GNU runtime. Patch bu David Chisnall.Fariborz Jahanian2009-09-101-73/+359
| | | | llvm-svn: 81462
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-129/+126
| | | | llvm-svn: 81346
* Re-implemented generation of objc_memmove_collectableFariborz Jahanian2009-08-311-2/+2
| | | | | | API for copying GC'able aggregates (Next runtime only). llvm-svn: 80607
* Updated GNU runtime non-fragile ABI.David Chisnall2009-08-311-43/+86
| | | | | | | Added -fconstant-string-class= option. Added __has_feature() test for non-fragile ABI. llvm-svn: 80591
* Initial patch to support definitions of id and Class from headers in ↵David Chisnall2009-08-171-10/+13
| | | | | | | | | | 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
* Update for LLVM API change.Owen Anderson2009-08-131-1/+1
| | | | llvm-svn: 78957
* Update for LLVM API change.Owen Anderson2009-08-131-24/+25
| | | | llvm-svn: 78946
* Update for LLVM API change.Owen Anderson2009-08-051-20/+23
| | | | llvm-svn: 78259
* cgobjcgnu was making invalid common globals.Chris Lattner2009-08-051-2/+2
| | | | llvm-svn: 78161
* Fixup spacing and 80-col violations.Mike Stump2009-07-311-20/+27
| | | | llvm-svn: 77731
* Update for LLVM API change.Owen Anderson2009-07-311-1/+1
| | | | llvm-svn: 77722
* Update for LLVM API changes.Owen Anderson2009-07-301-5/+5
| | | | llvm-svn: 77638
* Update for LLVM API change.Owen Anderson2009-07-291-64/+64
| | | | llvm-svn: 77514
* Update for LLVM API change.Owen Anderson2009-07-291-29/+29
| | | | llvm-svn: 77492
* Update for LLVM API change.Owen Anderson2009-07-281-8/+8
| | | | llvm-svn: 77349
* Update for LLVM API change.Owen Anderson2009-07-271-7/+7
| | | | llvm-svn: 77267
* Update for LLVM API change.Owen Anderson2009-07-241-26/+26
| | | | llvm-svn: 77012
* Fix declaration of obc_enumerationMutation function, for GNU runtime.Daniel Dunbar2009-07-241-6/+10
| | | | llvm-svn: 76959
* Revert r75641.Anders Carlsson2009-07-181-1/+1
| | | | llvm-svn: 76327
* fix objc codegen to not have its own list of things that eventually get into ↵Chris Lattner2009-07-171-4/+0
| | | | | | | | llvm.used, just populate CGM's list directly. llvm-svn: 76266
* Update for LLVM API change, and contextify a bunch of related stuff.Owen Anderson2009-07-141-144/+149
| | | | llvm-svn: 75705
* Rename RecordLayout.h to ASTRecordLayout.hAnders Carlsson2009-07-141-1/+1
| | | | llvm-svn: 75641
* Update for LLVM API change.Owen Anderson2009-07-131-1/+1
| | | | llvm-svn: 75446
* This patch includes a conceptually simple, but very intrusive/pervasive change. Steve Naroff2009-07-101-4/+5
| | | | | | | | | | | | 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
* Update for IRBuilder API change.Owen Anderson2009-07-081-1/+1
| | | | llvm-svn: 75041
* Update for LLVM API change.Owen Anderson2009-07-081-22/+21
| | | | llvm-svn: 75028
* Update for LLVM API change.Owen Anderson2009-07-081-13/+15
| | | | llvm-svn: 74986
* Implemented memmove_collectable API for Next runtimeFariborz Jahanian2009-07-081-0/+11
| | | | | | | when struct variables with GC'able members are copied into. Will provide a test case later. llvm-svn: 74984
* This fixes the case where the wrong symbol is emitted leading to linking ↵Fariborz Jahanian2009-07-031-4/+9
| | | | | | | | errors when you reference a class before defining it (GNU runtime). Patch by David Chisnall. llvm-svn: 74772
* use new and simplified LLVM APIs. Patch by Jay Foad!Chris Lattner2009-07-011-3/+2
| | | | llvm-svn: 74585
OpenPOWER on IntegriCloud