aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenObjC
AgeCommit message (Collapse)Author
2009-04-01Nonfragile ivar synthesis with property is in a continuationFariborz Jahanian
class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68234 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Removed the test case, as Chris did have a test case in the patch.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68214 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Test case for Chris's patch:Fariborz Jahanian
http://llvm.org/viewvc/llvm-project?view=rev&revision=68177 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Fix test failure on Linux by forcing the triple to OS X.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68179 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01fix the two xfails I added with a previous patch by making ObjC interfaceChris Lattner
types get completed when their definition is seen if previously laid out by the code generator. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31ir-gen support for nonfragile abi's synthesized ivars.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68122 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-31Fix a problem in ASTContext::addRecordToClass handling forward declarations.Chris Lattner
In a case like: @class foo; foo *P; addRecordToClass was making an empty shadow struct for the foo interface and completing it. Later when an: @interface foo ... @endif foo *Q; was seen, ASTContext::addRecordToClass would think that foo was already laid out and not lay out the definition. This fixes it to create a forward declared struct the first time around, then complete it when the definition is seen. Note that this causes two tests to regress, because something is trying to get the size of the forward declared structs returned by this. Previously, this would end up getting a size of zero but now it properly dies. I'm not sure what the right solution is for this, so I xfailed the tests. Fariborz, please take a look at this. The testcase in rdar://6676794 now gets farther, but dies later because the objc ivar is not assigned a field number. As an aside, I really don't like the fact that the objc front-end is creating shadow C structs for ObjC types. This seems like an implementation detail of the code generator that could be fixed by better factoring of the extant code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68106 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-25Remove -f__block as codegen for __block variables should be solid.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67697 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Rename clang to clang-cc.Daniel Dunbar
Tests and drivers updated, still need to shuffle dirs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-23Must allow for strong cast of floats as well (objc2 gc).Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67551 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-21Issue error if variables are defined inside an objc class,Fariborz Jahanian
category or protocol. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67450 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Fix codegen for support for super inside block literal expressions.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67406 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Fix a crash during meta-data generation of objc2's nonfragile abi.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67402 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20More super dot-syntax property implementationFariborz Jahanian
when there is actually a property declaration used in the dot-syntax. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67391 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Implement ir gen. for setter/getter applied to 'super' Fariborz Jahanian
in a property dot-syntax notation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67382 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18objc: Implemented variables declared in class interface Fariborz Jahanian
whose sema decl is at the translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67249 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Force triple for a couple test cases.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66974 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13add a testcase for recursion through blocks pointers, rdar://6676764.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66965 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Fix test.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66856 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13Fixed an ir-gen bug related to strong-cast generation ofFariborz Jahanian
source being a non-pointer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66854 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12Use paropery's setter attribute name asFariborz Jahanian
the selector for the property setter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66834 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10ir-gen support for class getter/setter call Fariborz Jahanian
using property dot-syntax. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66556 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09NeXT: Set alignment on a number of ObjC metadata variables (matching llvm-gcc).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66481 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-08add rdar#Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66356 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07fix testChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66352 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07Mangle Objective-C interfaces correctly (where correctly refers to what gcc ↵Anders Carlsson
does) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66349 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07Make constant emission for @encode use the common string emission code. Eli Friedman
This is a bit cleaner, and also "fixes" bad code that compares the addresses of the string constants. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07correct bitfield ivar offset in ivar meta-data.Fariborz Jahanian
(objc abi specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66345 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07Fix to account for default support for blocks. Once we have enoughMike Stump
testing to to be sure it all works, we'll rip out all the unsupported code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66338 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06Fixed a bug where generation of read-barriers causedFariborz Jahanian
crash in ir-gen. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66302 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05prep work for copy/destroy helpers for block literals.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66159 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-03Fixed an ir-gen bug in syntheszing a getter functionFariborz Jahanian
with property type which does not match its ivar and in -fobjc-gc-only mode! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65955 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02Push checking down, also, give the user a hit as to which part of theMike Stump
block literal is causing the problem, instead of the vague reference to the entire block literal. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65798 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01This test requires blocks.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65754 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-01Emit errors about unsupported blocks features.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65751 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-28Obscure code gen bug related to sending Fariborz Jahanian
message to 'super' in a class method declared in cateogy (darwin specific). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65709 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-24handle @encode interactions with array initializers.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65401 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-24move some initialization checking code from SemaDecl.cppChris Lattner
to SemaInit.cpp, no functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65394 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-24first wave of fixes for @encode sema support. This is part of PR3648.Chris Lattner
The big difference here is that (like string literal) @encode has array type, not pointer type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65391 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-24Fix two @synchronized bugs found by inspection: the expression to sychronize ↵Daniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65362 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22Correctly encode incomplete and variable length arrays. Fixes PR3639.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65255 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-21Fixed an ICE in meta-data generation of __weak/__strong ivars.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65235 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-16Fixes a bug in property type encoding.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64672 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-14Fixed a problem caused by foreward @class useFariborz Jahanian
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64563 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-13Fixed a 64bit code gen bug of a cateogoryFariborz Jahanian
implementation with no category declaration! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64470 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04Use -fnext-runtime for this test.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63688 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03Force -triple/-fnext-runtime for a few more test cases.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20Detailed documentation for encoding of properties and a test Fariborz Jahanian
case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62607 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20Improving on encoding of objective-c's property types. More to come.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62601 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-17Patch to re-implement ivar-list meta-data generation to fixFariborz Jahanian
cases of unnamed ivar bitfields. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62429 91177308-0d34-0410-b5e6-96231b3b80d8