Chris Lattner
0cb7803341
move some initialization checking code from SemaDecl.cpp
...
to SemaInit.cpp, no functionality change.
llvm-svn: 65394
2009-02-24 22:27:37 +00:00
Chris Lattner
d7e7b8e411
first wave of fixes for @encode sema support. This is part of PR3648.
...
The big difference here is that (like string literal) @encode has
array type, not pointer type.
llvm-svn: 65391
2009-02-24 22:18:39 +00:00
Daniel Dunbar
94ceb61574
Fix two @synchronized bugs found by inspection: the expression to sychronize 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
2009-02-24 01:43:46 +00:00
Anders Carlsson
d05f44b5ca
Correctly encode incomplete and variable length arrays. Fixes PR3639.
...
llvm-svn: 65255
2009-02-22 01:38:57 +00:00
Fariborz Jahanian
ccfd554024
Fixed an ICE in meta-data generation of __weak/__strong ivars.
...
llvm-svn: 65235
2009-02-21 18:23:24 +00:00
Fariborz Jahanian
1dd6094517
Fixes a bug in property type encoding.
...
llvm-svn: 64672
2009-02-16 21:41:04 +00:00
Fariborz Jahanian
99bed6fd21
Fixed a problem caused by foreward @class use
...
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
2009-02-14 20:13:28 +00:00
Fariborz Jahanian
d8fc1053ab
Fixed a 64bit code gen bug of a cateogory
...
implementation with no category declaration!
llvm-svn: 64470
2009-02-13 17:52:22 +00:00
Daniel Dunbar
eb39504426
Use -fnext-runtime for this test.
...
llvm-svn: 63688
2009-02-04 00:03:15 +00:00
Daniel Dunbar
c41a0b8a3c
Force -triple/-fnext-runtime for a few more test cases.
...
llvm-svn: 63679
2009-02-03 23:04:31 +00:00
Fariborz Jahanian
2f85a6450a
Detailed documentation for encoding of properties and a test
...
case.
llvm-svn: 62607
2009-01-20 20:04:12 +00:00
Fariborz Jahanian
218c630171
Improving on encoding of objective-c's property types. More to come.
...
llvm-svn: 62601
2009-01-20 19:14:18 +00:00
Fariborz Jahanian
705c6d9cdd
Patch to re-implement ivar-list meta-data generation to fix
...
cases of unnamed ivar bitfields.
llvm-svn: 62429
2009-01-17 19:36:33 +00:00
Douglas Gregor
088ea012cd
Add -fnext-runtime to Objective-C properties testcase
...
llvm-svn: 62390
2009-01-17 00:53:59 +00:00
Fariborz Jahanian
5c76772f49
Patch to fix encoding of Enum bitfields in ObjC.
...
llvm-svn: 62135
2009-01-13 01:18:13 +00:00
Fariborz Jahanian
30e7864661
Patch to implement code gen for aggrgate-valued property used
...
to access a field of its type.
llvm-svn: 62123
2009-01-12 23:27:26 +00:00
Fariborz Jahanian
17290c3638
Objc's compatibility-alias semantics and code
...
gen issue fix.
llvm-svn: 61901
2009-01-08 01:10:55 +00:00
Fariborz Jahanian
475831bd6e
Another nasty code gen. bug with trivial fix. Calling class
...
method on 'super' receiver in a category implementation.
Other simpler cases were working by accident.
llvm-svn: 61880
2009-01-07 20:11:22 +00:00
Sebastian Redl
4f84ddccc8
Fix a grep error that caused CodeGenObjC/encode-test.m to fail.
...
llvm-svn: 61455
2008-12-28 15:48:05 +00:00
Fariborz Jahanian
4ecf1e94db
Last patch, for now, to privde ObjC's encoding of types.
...
We now pass all gcc's encoding compatibility tests.
llvm-svn: 61387
2008-12-23 21:30:15 +00:00
Fariborz Jahanian
daef00bca6
More encoding support; in this case, encoding of
...
outer-most const of pointer types.
llvm-svn: 61355
2008-12-22 23:22:27 +00:00
Sebastian Redl
f795cbed2e
Test case makes a platform assumption, so force triple.
...
llvm-svn: 61310
2008-12-21 12:17:24 +00:00
Fariborz Jahanian
a0befc0a6f
Finish up saving original parameter type and
...
using it in ObjC's method parameter encoding.
llvm-svn: 61293
2008-12-20 23:29:59 +00:00
Fariborz Jahanian
7acf0749d4
Strangely enough, name of ObjC class is not encoded into the
...
full encoding of the class which has an ivar of pointer to this
class. Its name is encoded in the type for the ivar in the
ivar-list metadata. This patch conforms to the above rule.
llvm-svn: 61282
2008-12-20 19:17:01 +00:00
Fariborz Jahanian
1d35f12e6b
More encoding support. This time for
...
@encode of classes and bitfields.
llvm-svn: 61268
2008-12-19 23:34:38 +00:00
Fariborz Jahanian
8c036a3af4
Test case for my last @encode patch.
...
llvm-svn: 61247
2008-12-19 17:45:06 +00:00
Fariborz Jahanian
cfac794a5c
And a test case for my previous patch.
...
llvm-svn: 61044
2008-12-15 20:39:58 +00:00
Fariborz Jahanian
7572ac5614
Patch to allow a getter call using property dot-syntax notation.
...
llvm-svn: 60816
2008-12-10 00:21:50 +00:00
Fariborz Jahanian
3d8552a75d
Support for implementation of property in the case where
...
the synthesis is in an implementation of s subclass of
a super class where the property has been declared.
llvm-svn: 60792
2008-12-09 20:23:04 +00:00
Fariborz Jahanian
fbbaf6afae
This test checks for duplicate implementation of the same
...
property. It also checks for duplicate use of the same ivar
in two different iproperty implementations. It also caught
an error for a test case used in CodeGen :).
llvm-svn: 60610
2008-12-05 22:32:48 +00:00
Fariborz Jahanian
6de7eb8587
Another test for property code gen.
...
llvm-svn: 60128
2008-11-26 23:20:29 +00:00
Fariborz Jahanian
57251782d0
Code gen for aggregate-valued properties and a test case.
...
llvm-svn: 60122
2008-11-26 22:36:09 +00:00
Fariborz Jahanian
f8ef9f3dc9
Set default property attributes on each property.
...
Implemented anonymous category (also know as continuation class)
used to override main class's property attribute. This is work in
propgress.
llvm-svn: 60114
2008-11-26 20:01:34 +00:00
Fariborz Jahanian
9ac535162b
Implemented ir-gen for 'implicit' properties using the new AST nodes.
...
llvm-svn: 59886
2008-11-22 22:30:21 +00:00
Fariborz Jahanian
e2caaaa13c
Fixed bugzilla bug# 3095 related to code gen. for @synchronized.
...
llvm-svn: 59838
2008-11-21 19:21:53 +00:00
Douglas Gregor
0f492d1a11
Only test test/CodeGenObjC/synchronized.m as a i686-apple-darwin8 target
...
llvm-svn: 59463
2008-11-17 20:45:14 +00:00
Fariborz Jahanian
e3126a24e3
Test case for objective-c's @synchronized statement.
...
llvm-svn: 59451
2008-11-17 18:03:28 +00:00
Zhongxing Xu
e76577a97d
add targe triple commandline option to fix test failure on Linux.
...
llvm-svn: 59412
2008-11-16 09:17:52 +00:00
Daniel Dunbar
c475d4224b
NeXT: Emit protocol objects lazily.
...
- That is, the metadata for a protocol is only emitted if that
protocol is actually used in the translation unit. This is
important because Objective-C headers frequently contain a large
number of protocol definitions, only a few of which will be used in
any given file.
llvm-svn: 58400
2008-10-29 22:36:39 +00:00
Daniel Dunbar
340b5ddcf9
Fix regression in comparison of qualified id; == operator was being
...
created with LHS and RHS whose types didn't match.
llvm-svn: 58049
2008-10-23 23:30:52 +00:00
Daniel Dunbar
fbe68a84f8
NeXT: Update to use CreateRuntimeFunction for the routines it imports.
...
llvm-svn: 56902
2008-10-01 01:06:06 +00:00
Daniel Dunbar
3a28b9acbd
Add more testing of Obj-C property synthesis.
...
llvm-svn: 56564
2008-09-24 18:00:13 +00:00
Daniel Dunbar
ce05c8eb49
Fix two bugs exposed by array passing assert:
...
(1) Additional arguments to variadic methods should have default
promotions applied.
(2) Additional arguments to non-variadic methods were allowed.
llvm-svn: 56084
2008-09-11 00:50:25 +00:00
Daniel Dunbar
c01f56c8de
Add some Objective-C code generation tests.
...
- Note that these don't really test anything other than that code
generation doesn't fail or crash. Better than nothing though!
llvm-svn: 55761
2008-09-04 04:36:23 +00:00