summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCMac.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Created __builtin___NSStringMakeConstantString() builtin, which generates ↵David Chisnall2010-01-231-3/+3
| | | | | | constant Objective-C strings. llvm-svn: 94274
* Remove some dead variables clang-analyzer found.Benjamin Kramer2009-12-251-5/+1
| | | | llvm-svn: 92162
* Pass ReturnValueSlot to EmitCall. No functionality change yet.Anders Carlsson2009-12-241-2/+2
| | | | llvm-svn: 92138
* Patch to fix 32-bit @try failure with internal assertion when compiling Fariborz Jahanian2009-12-141-2/+5
| | | | | | an Objective-C rethrow nested inside another try/catch block. (fixes radar 7466728). llvm-svn: 91335
* patch to add a property from a protocol to a class that adopts the protocol.Fariborz Jahanian2009-12-121-0/+34
| | | | | | (fixes radar 7466494). llvm-svn: 91227
* (objc2 nonfragile-abi specific). If the translation unit includes an ↵Fariborz Jahanian2009-12-011-11/+10
| | | | | | | | | implementation of a subclass (direct or indirect) of a weak_import root class, emit a weak reference for the root class's metaclass (should complete radar 6815425). llvm-svn: 90249
* Don't pass false (default) for isVolatile parameter to CreateLoad.Daniel Dunbar2009-11-291-11/+10
| | | | llvm-svn: 90098
* This patch finalizes implementatin of weak_importFariborz Jahanian2009-11-171-0/+6
| | | | | | objective-c2 classes (radar 6815425). llvm-svn: 89157
* More cases for weak_import objective-c2 classes.Fariborz Jahanian2009-11-171-0/+3
| | | | | | (still radar 6815425). llvm-svn: 89152
* More support for weak_import objective-c2 class.Fariborz Jahanian2009-11-171-0/+27
| | | | | | (radar 6815425). llvm-svn: 89146
* Generate the old API when sending message to superFariborz Jahanian2009-11-141-1/+4
| | | | | | in a category implementation (objc 32bit api related). llvm-svn: 88741
* Fix a code gen bug in i386-apple-darwin (objc fragile abi), sendingFariborz Jahanian2009-11-121-6/+38
| | | | | | message to 'super'. Fixes radar 7205866. llvm-svn: 87017
* Avoid std::string concatenation.Daniel Dunbar2009-10-191-16/+10
| | | | llvm-svn: 84458
* PR5218: Replace IdentifierInfo::getName with StringRef version, now that clientsDaniel Dunbar2009-10-181-5/+5
| | | | | | are updated. llvm-svn: 84447
* Twinify CGObjCMac, this simplifies the code and should reduce std::stringDaniel Dunbar2009-10-181-97/+86
| | | | | | trashing. llvm-svn: 84439
* There is now only one version of eh.selector and eh.typeid.for.Duncan Sands2009-10-141-8/+8
| | | | | | Fix the clang build. llvm-svn: 84107
* Simplify pointer creation with the new Type::getInt*Ptr methods.Benjamin Kramer2009-10-131-6/+5
| | | | llvm-svn: 83964
* Patch fixes a code gen. bug in generation of objc_assign_ivarFariborz Jahanian2009-09-241-11/+17
| | | | | | (objc GC's API). llvm-svn: 82724
* Refactor the representation of qualifiers to bring ExtQualType out of theJohn McCall2009-09-241-14/+16
| | | | | | | | Type hierarchy. Demote 'volatile' to extended-qualifier status. Audit our use of qualifiers and fix a few places that weren't dealing with qualifiers quite right; many more remain. llvm-svn: 82705
* Change all the Type::getAsFoo() methods to specializations of Type::getAs().John McCall2009-09-211-6/+6
| | | | | | | | | | | 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-10/+10
| | | | | | 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-3/+2
| | | | | | | | 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-26/+31
| | | | llvm-svn: 82117
* patch for generating objc'2 objc_assign_ivar. WIP.Fariborz Jahanian2009-09-161-1/+0
| | | | llvm-svn: 82090
* Fixes a regression in objc GC layout bitmap involvingFariborz Jahanian2009-09-111-1/+1
| | | | | | block pointer ivars. llvm-svn: 81535
* Get the size of object to pass to objc_memmove_collectable()Fariborz Jahanian2009-09-101-2/+2
| | | | | | from correct field of TypeInfo. llvm-svn: 81446
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-39/+24
| | | | llvm-svn: 81346
* Remove unnecessary #include <sstream>.Benjamin Kramer2009-09-071-1/+0
| | | | llvm-svn: 81147
* Use a SetVector for tracking some Obj-C metadata, to ensure deterministicDaniel Dunbar2009-09-071-20/+23
| | | | | | | output. - Also, cleanup code to output inline asm references. llvm-svn: 81139
* Re-implemented generation of objc_memmove_collectableFariborz Jahanian2009-08-311-4/+10
| | | | | | API for copying GC'able aggregates (Next runtime only). llvm-svn: 80607
* Fix ivar layout map generation (hopefully).Anders Carlsson2009-08-251-1/+6
| | | | llvm-svn: 79968
* Remove #ifdef'out code.Fariborz Jahanian2009-08-241-7/+0
| | | | llvm-svn: 79956
* Remove ivarlayout bitmap optimization, instead if all zeros,Fariborz Jahanian2009-08-241-1/+3
| | | | | | put out the bitmap when all objects are scanned. llvm-svn: 79947
* Fix build of clang with gcc-4.4: #include <cstdio> was missing.Torok Edwin2009-08-241-0/+1
| | | | llvm-svn: 79916
* Introduce DeclaratorDecl and pass DeclaratorInfo through the Decl/Sema ↵Argyrios Kyrtzidis2009-08-191-4/+4
| | | | | | | | | | | | interfaces. DeclaratorDecl contains a DeclaratorInfo* to keep type source info. Subclasses of DeclaratorDecl are FieldDecl, FunctionDecl, and VarDecl. EnumConstantDecl still inherits from ValueDecl since it has no need for DeclaratorInfo. Decl/Sema interfaces accept a DeclaratorInfo as parameter but no DeclaratorInfo is created yet. llvm-svn: 79392
* Update for LLVM API change.Owen Anderson2009-08-131-8/+8
| | | | llvm-svn: 78957
* Update for LLVM API change.Owen Anderson2009-08-131-35/+38
| | | | llvm-svn: 78946
* Update for LLVM API change.Owen Anderson2009-08-051-36/+41
| | | | llvm-svn: 78259
* When generating cleanup blocks for Obj-C @finally, mark them as catch all blocksDaniel Dunbar2009-08-031-1/+4
| | | | | | | | from the perspective of LLVM exception handling. Otherwise the C++ personality function may decide not to run them, if it only detects cleanup handlers. - Test case for this is exceptions.m in llvm-test. llvm-svn: 77999
* Formatting fixes (trailing whitespace, 80-cols, indentation).Daniel Dunbar2009-08-031-1081/+1088
| | | | llvm-svn: 77972
* Update for LLVM API change.Owen Anderson2009-07-311-42/+42
| | | | llvm-svn: 77722
* Update for LLVM API change.Owen Anderson2009-07-311-4/+4
| | | | llvm-svn: 77686
* Canonicalize else spacing.Mike Stump2009-07-301-32/+15
| | | | llvm-svn: 77629
* Eliminate an unused-variable warningDouglas Gregor2009-07-291-1/+0
| | | | llvm-svn: 77518
* Update for LLVM API change.Owen Anderson2009-07-291-126/+126
| | | | llvm-svn: 77514
* Change uses of:Ted Kremenek2009-07-291-3/+3
| | | | | | | | | | | | | | | | | | | | Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsRecordType() -> Type::getAs<RecordType>() Type::getAsPointerType() -> Type::getAs<PointerType>() Type::getAsBlockPointerType() -> Type::getAs<BlockPointerType>() Type::getAsLValueReferenceType() -> Type::getAs<LValueReferenceType>() Type::getAsRValueReferenceType() -> Type::getAs<RValueReferenceType>() Type::getAsMemberPointerType() -> Type::getAs<MemberPointerType>() Type::getAsReferenceType() -> Type::getAs<ReferenceType>() Type::getAsTagType() -> Type::getAs<TagType>() And remove Type::getAsReferenceType(), etc. This change is similar to one I made a couple weeks ago, but that was partly reverted pending some additional design discussion. With Doug's pending smart pointer changes for Types, it seemed natural to take this approach. llvm-svn: 77510
* Update for LLVM API change.Owen Anderson2009-07-291-31/+31
| | | | llvm-svn: 77492
* Update for LLVM API change.Owen Anderson2009-07-281-18/+18
| | | | llvm-svn: 77349
* add some fixme'sChris Lattner2009-07-281-2/+2
| | | | llvm-svn: 77343
* Patch for objc's zero-const exception to not assumeFariborz Jahanian2009-07-271-11/+10
| | | | | | | that @catch(...) cathces all exceptions (c++ objects are not cought by that). llvm-svn: 77270
OpenPOWER on IntegriCloud