aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenObjC
AgeCommit message (Collapse)Author
2010-12-04Don't crash when initializing a subaggregate in C from a property r-value.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120899 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-04Test case for the l-value base only being evaluated once.John McCall
Also, move the l-value emission code into CGObjC.cpp and teach it, for completeness, to store away self for a super send. Also, inline the super cases for property gets and sets and make them use the correct result type for implicit getter/setter calls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120887 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-02IR Gen. part of API support for __block cxxFariborz Jahanian
objects imported into blocks. //rdar://8594790. Will have a test case coming (as well as one sent to llvm test suite). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@120713 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-11Adding couple of Block API, a bug fix andFariborz Jahanian
a test change, all for blocks. wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118745 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-10test case for r118726.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118727 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Restore patch reversed in r118475. FixesFariborz Jahanian
// rdar://8632525 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118634 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-09Reverse patch for // rdar://8632525. It mightFariborz Jahanian
has broken a build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118475 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-08Provide a precise builtin declaration for objc_msgSendFariborz Jahanian
to avoid a bogus warning. Fixes //rdar: //8632525 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118451 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22Tidy up MIPS_linkage name. Provide it only if it does not match regular ↵Devang Patel
name, otherwise it confuses debugger. This is tested by local.C in llvmgcc testsuite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117107 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19This patch implements Next's IRGen for -fconstant-string-class=class-name.Fariborz Jahanian
PR6056, //rdar: //8564463 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116819 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-18patch fixes class names missing from method names in debug information for Fariborz Jahanian
synthesized property. // rdar: //8498026 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116717 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-16Coding by inspection has its problems.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116672 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-16objc_exception_rethrow does not take an exception argument.John McCall
rdar://problem/8535238 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116663 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-16Revert r116656, "IRgen/Obj-C/NeXT: Fix the IR signature forDaniel Dunbar
objc_exception_rethrow, so we don't...", since something is actually trying to call this with the wrong signature (!). Unfortunately I don't understand the new EH infrastructure well enough to fix it immediately. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116660 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-16IRgen/Obj-C/NeXT: Fix the IR signature for objc_exception_rethrow, so we don'tDaniel Dunbar
generate unnecessary %al clear on x86_64. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116656 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-13_Bool is not a keyword in C++. Fixes PR7388 and PR8349.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116422 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-11Test for //rdar: //8493239Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116258 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-11IRgen/Obj-C: Fix encoding of "long double".Daniel Dunbar
- The mind boggles. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116226 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-11Merge encode-test-1.m into encode-test.mDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116225 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-11FileCheck'ize test.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116224 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-07tests: Tweak test to also match MSVC format.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115969 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-06Re-enable EH cleanups to destroy __block variables, now that we have a moment toJohn McCall
deal with the consequences. Fixes rdar://problem/8224178. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115816 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-04In the fragile ObjC ABI, save the caught exception to the side if there areJohn McCall
both @catches and a @finally, because the second call to @objc_exception_try_enter will clobber the exception slot. Fixes rdar://problem/8440970. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115575 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-01Restore test. Is for //rdar://8493239Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115349 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-01Remove test until further notice.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115258 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-01Fix test.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115253 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-01Output debug info. for ivars declared in classFariborz Jahanian
extension and implementation. Fixes rdar://8493239. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115248 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-29Attach aritifical attribute with implicit parameters.Devang Patel
Radar 8493141. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115104 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-22update a bunch of tests that are using the x86 backend instead of grepping IR :(Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@114535 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-13Block description for trivial block literals haveFariborz Jahanian
their 'isa' field scanned regardless. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113749 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-11Fixes an obscure bug in importd block variable layoutFariborz Jahanian
information when imported variable is used more than once. Originally though to be a bug in importing block varibles. Fixes radar 8417746. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113675 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-09Block ivar layout must assume that the 'isa'Fariborz Jahanian
field of the block descriptor is GC'able (scanned) as this what the runtime expects (one can send it messages). Radar 8394947. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113454 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-07Local static block variable referecned in itsFariborz Jahanian
block-literal initializer expression causes IRgen to crash. This patch fixes by saving it in StaticLocalDecl map already used for such purposes. (radar 8390455). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113307 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-06LastFieldBitfield in CGObjCCommonMac::BuildAggrIvarLayout keeps bitfields or ↵Argyrios Kyrtzidis
unnamed fields but later the code assumes that it's always a bitfield. This can lead to a crash (reported at rdar://8368320). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113154 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-04Casting of a property reference to 'void' did notFariborz Jahanian
generate the necessary code. This patch fixes it. // rdar://8389655 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113079 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-03tests: Fix a dependency on the temporary value names.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112917 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02IRgen/Obj-C: Rewrite Objective-C bit-field access to compute the access strategyDaniel Dunbar
using the same methods as used for normal structures. - This fixes problems with reading past the end of the structure and with handling straddled bit-field access. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112914 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-02stop looking for #uses comments.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112898 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25Robustify test.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112062 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-25tests: Disable this test for now, it is overly pessimistic and I am not sure ↵Daniel Dunbar
how to fix it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112023 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-23Support for IRGen of synthesize bitfield ivars inFariborz Jahanian
objc-nonfragile-abi2 (radar 7824380). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111823 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-12Patch to issue warning when colllection expresion's typeFariborz Jahanian
does not implement 'countByEnumeratingWithState' API. Implements radar 7634669. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110964 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11When re-raising an exception after a cleanup, we need to call ↵John McCall
_Unwind_Resume_or_Rethrow instead of _Unwind_Resume. With SJLJ exceptions, this is spelled "_Unwind_SjLj_Resume_or_Rethrow", not "_Unwind_SjLj_Resume", which has significantly different semantics. We should actually never be generating a call to _Unwind_SjLj_Resume directly; even if we were generating true cleanups (which we aren't because of the horrible hack), we should be calling __cxa_end_cleanup() on ARM. I haven't implemented this because there's little point as long as the HH is present. I believe this fixes <rdar://problem/8281377>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110851 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11IRGen support for functions returning objc objectFariborz Jahanian
types. Fixes PR7865. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110832 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11Make this test a little less dependent on exact optimizer results.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110770 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11Fix a bug in @finally emission in both the fragile and non-fragile EH schemesJohn McCall
where we weren't accounting for the possibility that a @finally block might have internal cleanups and therefore might write to the cleanup destination slot. Fixes <rdar://problem/8293901>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-06Finishing up block variable layout API by supporting Fariborz Jahanian
union type variables and their nesting inside other aggregate types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110448 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05Add support for block imported struct variable layout info.Fariborz Jahanian
(objc gc and blocks in NeXt runtime). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110377 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04Block variable layout bitmap API generation.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110287 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-04Some more correctness fixes and code-size optimizations for fragile-ABIJohn McCall
ObjC exceptions: - don't enter a try for the catch blocks unless there's a finally - put the setjmp buffer in the locals set for liveness reasons - dump the sync object into an alloca in the locals set for liveness reasons Some of this can go away if the backend starts to properly calculate liveness in the presence of setjmp (which would also be a *much* stabler solution). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110188 91177308-0d34-0410-b5e6-96231b3b80d8