Fariborz Jahanian
31ebebfb58
more tests for modern objc translator.
...
llvm-svn: 151201
2012-02-22 21:13:49 +00:00
Fariborz Jahanian
5e49eb95b5
modern objc translator. more writing of modern ivar access
...
abi.
llvm-svn: 151176
2012-02-22 18:13:25 +00:00
Fariborz Jahanian
8e1118cbd5
modern objc translator: fixes a bug where a class declaration with not
...
any implementation in tu was not being translated.
llvm-svn: 151106
2012-02-21 23:58:41 +00:00
Fariborz Jahanian
c481c0c0f5
objective-c modern translator. accessing ivars using modern abi - wip.
...
llvm-svn: 151103
2012-02-21 23:46:48 +00:00
Fariborz Jahanian
a7765fea90
modern objc translator. Finish off first cut of the
...
modern meta-data translation by commenting out private ivar
declarations in user source. Also, added several tests.
llvm-svn: 150985
2012-02-20 20:09:20 +00:00
Argyrios Kyrtzidis
75627ad8ba
Fix the rewriter that broke with r149987.
...
r149987 changed the way parsing happens inside an @implementation;
it aggregates the declarations inside and reports them together as a DeclGroup.
This had the side effect that function declarations were reported together with
their definition, while the rewriter expected for function declarations to be
reported immediately to the consumer and thus not have a body.
Fix this by having the rewriter actually check with isThisDeclarationADefinition()
to make sure the body comes from the current decl before rewriting it.
llvm-svn: 150325
2012-02-12 04:48:45 +00:00
Fariborz Jahanian
42d05f2faf
Also, these objc++ rewriter tests are meant to run in NeXt's
...
fragile-abi mode.
llvm-svn: 149788
2012-02-04 19:06:06 +00:00
Fariborz Jahanian
27062dd7d2
These tests are intended to run in NeXt's legacy objective-c abi (fragile-abi).
...
Make this explicit since default is now nonfragile-abi.
llvm-svn: 149787
2012-02-04 18:56:43 +00:00
Jean-Daniel Dupas
400dd1c3d0
Remove the "C" in "implicitly declaring C library function" diagnostic
...
because all functions are not C functions (i.e. NSLog).
llvm-svn: 149150
2012-01-27 23:21:02 +00:00
Fariborz Jahanian
87b4ae6cab
objective-c: Use class definition AST in several situations when
...
building related objc ASTs which require a class definition AST.
These were uncovered when testing objc rewriter.
llvm-svn: 147210
2011-12-23 00:31:02 +00:00
Fariborz Jahanian
a4b2a86353
objc, objc rewriter. Fixes couple of bugs one
...
because of recent refactoring and one in the
rewriter.
llvm-svn: 147070
2011-12-21 19:48:07 +00:00
Argyrios Kyrtzidis
78181b4b45
Fix the rewriter, rdar://10234024.
...
llvm-svn: 141201
2011-10-05 19:37:56 +00:00
Fariborz Jahanian
9f0bc5757c
objc rewriter - more fixes to support compiling the rewritten
...
test case having instancetype. Fix in rewriter is unrelated to
using of instancetype. Test case uses other feature not yet
supported in the rewriter. There is more work to do, but this
is an ongoing task and not urgent at this time.
llvm-svn: 139473
2011-09-10 17:01:56 +00:00
Fariborz Jahanian
e1378a4313
objc rewriter - Add rewriter test for new instancetype
...
along with minor rewriter fix to handle that. This
test is still incomplete due to rewriter issues
unrelated to instancetype.
llvm-svn: 139403
2011-09-09 20:35:22 +00:00
Fariborz Jahanian
abc11aa3bc
Fix a rewriter bug caused by recent changes in objc's
...
group decls.
llvm-svn: 138772
2011-08-29 22:21:46 +00:00
Fariborz Jahanian
3a039e339f
objective-c: Treat top-level objective-c declarations
...
, such as list of forward @class decls, in a DeclGroup
node. Deal with its consequence throught clang. This
is in preparation for more Sema work ahead. // rdar://8843851.
Feel free to reverse if it breaks something important
and I am unavailable.
llvm-svn: 138709
2011-08-27 20:50:59 +00:00
Fariborz Jahanian
9e7dbd1cc6
objc rewriter: Fixes a rewriting of implicit casting of an integral
...
argument to bool. // rdar://9899834
llvm-svn: 136946
2011-08-04 23:58:03 +00:00
Fariborz Jahanian
c7c346fd13
objective-c rewrite: Fixes rewriting of objective-c collection
...
statement inside a block. // rdar://9878420
llvm-svn: 136717
2011-08-02 20:28:46 +00:00
Fariborz Jahanian
c81decc0f5
Test for // rdar://9846759
...
llvm-svn: 136602
2011-07-31 20:27:31 +00:00
Fariborz Jahanian
fae2e8df37
Fixup more objc rwriter bug having to do with
...
rewriting of blocks which have objective-c
stuff which need be rewritten as well. // rdar://9254348
llvm-svn: 129300
2011-04-11 21:17:02 +00:00
Fariborz Jahanian
eae9c0e3df
Fixes a rewrting bug of a property-dot syntax expression inside
...
a block. First part of // rdar://9254348
llvm-svn: 129171
2011-04-08 23:48:29 +00:00
Fariborz Jahanian
c6078c87d1
Fixes a rewriter bug rewriting call to a byref
...
block pointer nested inside a block. // rdar:// 9204669
llvm-svn: 128747
2011-04-01 23:08:13 +00:00
Fariborz Jahanian
5bba75f1a7
ANother rewrite bug, rewriting a call of
...
__byref block. // rdar://9204669
llvm-svn: 128726
2011-04-01 19:19:28 +00:00
Fariborz Jahanian
ff51d4e559
Fix couple of rewriter bugs related to rewriting a
...
__block block declaration. //rdar://9204669
llvm-svn: 128682
2011-03-31 22:49:32 +00:00
Fariborz Jahanian
8f4903397d
Fix objc rewriting bug casting to qualified objective-c pointetr.
...
// rdar://9056351
llvm-svn: 126536
2011-02-26 01:31:36 +00:00
Fariborz Jahanian
f2890fc93f
Fix a rewriter bug involving call to property's
...
block. // rdar://9055596
llvm-svn: 126535
2011-02-26 00:33:41 +00:00
Fariborz Jahanian
40c5e1ada7
Teach objc-rewriter to pass -fobjc-exceptions along.
...
llvm-svn: 126497
2011-02-25 17:24:55 +00:00
Fariborz Jahanian
74405b02f9
Fix a rewrite bug. // rdar://9039342
...
llvm-svn: 126435
2011-02-24 21:29:21 +00:00
Anders Carlsson
3320e1575f
Make clang -cc1 disable Objective-C exceptions by default, and add a -fobjc-exceptions flag to turn them on.
...
Update all tests accordingly.
llvm-svn: 126177
2011-02-22 01:52:06 +00:00
John McCall
8377967543
Warn about code that uses variables and functions with internal linkage
...
without defining them. This should be an error, but I'm paranoid about
"uses" that end up not actually requiring a definition. I'll revisit later.
Also, teach IR generation to not set internal linkage on variable
declarations, just for safety's sake. Doing so produces an invalid module
if the variable is not ultimately defined.
Also, fix several places in the test suite where we were using internal
functions without definitions.
llvm-svn: 126016
2011-02-19 02:53:41 +00:00
Fariborz Jahanian
9cd649d376
Block rewriting bug. Don't take address of captured
...
byref variables again when passing them to inner blocks.
// rdar://9006279
llvm-svn: 125690
2011-02-16 22:37:10 +00:00
Fariborz Jahanian
ee504a0881
Fix an objective-c rewriter bug rewriting a __block
...
variable declaration of a struct declared type.
// rdar://8918702
llvm-svn: 124451
2011-01-27 23:18:15 +00:00
John McCall
4bb483629f
Change the wording of the bad-decl-for-attribute warning and error
...
to make it clear that we're talking about the declarations and not the types.
llvm-svn: 124175
2011-01-25 03:51:08 +00:00
Fariborz Jahanian
83e7d5a90a
Fix rewriter to match recent changes in property ref
...
AST.
llvm-svn: 120919
2010-12-04 21:22:13 +00:00
John McCall
bd35f73b6b
Apparently properties.m does not always fail; make it.
...
llvm-svn: 120894
2010-12-04 05:22:10 +00:00
John McCall
34376a68c4
Although we currently have explicit lvalue-to-rvalue conversions, they're
...
not actually frequently used, because ImpCastExprToType only creates a node
if the types differ. So explicitly create an ICE in the lvalue-to-rvalue
conversion code in DefaultFunctionArrayLvalueConversion() as well as several
other new places, and consistently deal with the consequences throughout the
compiler.
In addition, introduce a new cast kind for loading an ObjCProperty l-value,
and make sure we emit those nodes whenever an ObjCProperty l-value appears
that's not on the LHS of an assignment operator.
This breaks a couple of rewriter tests, which I've x-failed until future
development occurs on the rewriter.
Ted Kremenek kindly contributed the analyzer workarounds in this patch.
llvm-svn: 120890
2010-12-04 03:47:34 +00:00
Fariborz Jahanian
086a24a2be
Fixes a rewrite bug, rewriting nested property usage
...
inside blocks. Fixes //rdar: //8608293.
llvm-svn: 118425
2010-11-08 18:37:50 +00:00
Fariborz Jahanian
90d2e57ff7
Proper rewriting of block envokation with
...
qualified ObjC pointer types in its argument list.
// rdar: //8608902
llvm-svn: 118286
2010-11-05 18:34:46 +00:00
Fariborz Jahanian
733dde6035
Fixes a rewriting bug when type in a block argument type
...
is a objc qualified class type. // rdar: //8608902
llvm-svn: 118208
2010-11-03 23:50:34 +00:00
Fariborz Jahanian
147e1cbb49
Patch to rewrite objc qualified types which occur in
...
block pointer type arguments. Partial fix for
// rdar: //8608902
llvm-svn: 118205
2010-11-03 23:29:24 +00:00
Fariborz Jahanian
7c299bc6fa
Do not rewrite new accessor if user has defined accessors.
...
Fixes //rdar: // 8570020.
llvm-svn: 116882
2010-10-19 23:47:54 +00:00
Fariborz Jahanian
1cee0adea3
Fix a rewriting bug of rewriting properties declared in
...
protocols. // rdar: //8558702
llvm-svn: 116652
2010-10-16 00:29:27 +00:00
Fariborz Jahanian
9c07e1767d
Rewrite bug fix rewriting a property assignment when
...
its RHS is an ivar. Fixes //rdar: //8541517.
llvm-svn: 116539
2010-10-14 23:31:39 +00:00
Fariborz Jahanian
163488ffbf
When dealing with an assignment with LHS being a property reference
...
expression, the entire assignment tree is rewritten into a property
setter messaging. This includes rewriting the RHS.
Do not attempt to rewrite RHS again. Never rewrite a rewritten text!
Fixes //rdar: //8527018.
llvm-svn: 116104
2010-10-08 21:12:22 +00:00
Fariborz Jahanian
4fc98f664b
Start and end location of a property-dot syntax expression
...
must match start and end location of the expression
as expected by the rewriter client. Fixes // rdar: // 8520727
llvm-svn: 115934
2010-10-07 18:12:21 +00:00
Fariborz Jahanian
fc8315f56a
Fix a block rewriter bug where copy/dispose entries in
...
block descriptor for outer block was missing even though
the block was importing objects into its inner blocks.
//rdar://84995992
llvm-svn: 115644
2010-10-05 18:05:06 +00:00
Fariborz Jahanian
7bf13c49c7
Rewriting array element type of qualified-id.
...
Fixes rdra://8475819.
llvm-svn: 115201
2010-09-30 20:41:32 +00:00
Fariborz Jahanian
aa0f2b3016
Fix rewriting of property declared in @protocol's.
...
Fixed //rdar://8472487.
llvm-svn: 114741
2010-09-24 18:36:58 +00:00
Chris Lattner
53fa04909c
make clang print types as "const int *" instead of "int const*",
...
which is should have done from the beginning. As usual, the most
fun with this sort of change is updating all the testcases.
llvm-svn: 113090
2010-09-05 00:04:01 +00:00
Fariborz Jahanian
e6a4e3933d
Initialize block's imported variable(s) in
...
block's synthesized constructor initalizer list.
Fixes radar 8240371.
llvm-svn: 109698
2010-07-28 23:27:30 +00:00
Fariborz Jahanian
34c85987fe
Fix a rewriter bug which originates in SemaInit involving
...
Constructor Initialization which computes Source Location
differently now. Fixes radar 8213998.
llvm-svn: 109018
2010-07-21 17:36:39 +00:00
Chris Lattner
33919e7450
fix PR7280 by making the warning on code like this:
...
int test1() {
return;
}
default to an error.
llvm-svn: 108108
2010-07-11 23:34:02 +00:00
Daniel Dunbar
8ab6c54ce2
Rewriter: Use the appropriate printing context instead of the default
...
constructed one -- this is necessary to ensure types get printed correctly.
llvm-svn: 107312
2010-06-30 19:16:53 +00:00
Fariborz Jahanian
e33c116bdf
Nasty rewriter bug which turns out to have an easy fix in
...
rewriting a c-style cast expression in statement printer.
Fixes radar 8143056.
llvm-svn: 107289
2010-06-30 16:31:08 +00:00
Fariborz Jahanian
19c6240713
Patch to rewrite block pointers as arguments to
...
methods. (Radar 7987817).
llvm-svn: 104608
2010-05-25 15:56:08 +00:00
Fariborz Jahanian
36680dd751
Fix a rewriting bug where a local static objective-c
...
pointer is copied into a block. Fixes radar 7924024.
llvm-svn: 104526
2010-05-24 18:32:56 +00:00
Fariborz Jahanian
427ee8b5f3
Fix an objective-c rewriter bug when pre-processed file's
...
class declaration's @end is not followed by a new-line.
(radar 7946975).
llvm-svn: 104512
2010-05-24 17:22:38 +00:00
Chris Lattner
8d269dc329
make the rewriter add a #ifndef around the #define of __attribute__.
...
Without it, there is no reason for a compiler that supports it to
emit the dead static globals that the rewriter labels attribute(used).
llvm-svn: 101149
2010-04-13 17:33:56 +00:00
Chris Lattner
198cb4df6e
Instead of counting totally diagnostics, split the count into a count
...
of errors and warnings. This allows us to emit something like this:
2 warnings and 1 error generated.
instead of:
3 diagnostics generated.
This also stops counting 'notes' because they are just follow-on information
about the previous diag, not a diagnostic in themselves.
llvm-svn: 100675
2010-04-07 18:47:42 +00:00
Fariborz Jahanian
3a106e7029
Add tentative support for accessing local variables with
...
external linkage (static, extern, etc.) in blocks in
rewriter. wip.
llvm-svn: 98265
2010-03-11 18:20:03 +00:00
Fariborz Jahanian
a4a925febb
Change the 'super' messaging API in the rewriter.
...
Fixes radar 7738452.
llvm-svn: 98190
2010-03-10 21:17:41 +00:00
Fariborz Jahanian
97bb418575
Make rewritten source compiled with clang++.
...
llvm-svn: 97762
2010-03-04 23:13:29 +00:00
Fariborz Jahanian
7103835d79
Make rewritten source compiled with clang++ for correctness.
...
llvm-svn: 97761
2010-03-04 23:03:49 +00:00
Fariborz Jahanian
3db51d80ec
Change test to compile rewritten test with clang++.
...
llvm-svn: 97756
2010-03-04 21:57:21 +00:00
Fariborz Jahanian
8bb35c4d7c
Fixes a bug whereby static const block var has static
...
moved incorrectly. (radar 7714443).
llvm-svn: 97734
2010-03-04 18:54:29 +00:00
Fariborz Jahanian
f4609d431f
More rewriter of nested blocks fun stuff.
...
Radar 7696893.
llvm-svn: 97520
2010-03-01 23:36:21 +00:00
Fariborz Jahanian
6005bd821c
Prevent rewriter crash when variable type is missing.
...
Fixes radar 7692183.
llvm-svn: 97281
2010-02-26 22:49:11 +00:00
Fariborz Jahanian
ce2ea59d2c
Fix rewriting of byref variables in nested blocks.
...
Fixes radar 7692350.
llvm-svn: 97254
2010-02-26 19:55:31 +00:00
Fariborz Jahanian
5743d4d280
Rewriting of imported variable from outer
...
blocks's argument in the inner block requires special treatment.
Fixes radar 7692419.
llvm-svn: 97244
2010-02-26 19:05:20 +00:00
Fariborz Jahanian
ec201dc3c6
Support rewriting of property synthesis with retain/copy
...
attributes. Fixes radar 7214439.
llvm-svn: 97203
2010-02-26 01:42:20 +00:00
Fariborz Jahanian
1f7fe2c7f7
Added test case for non-objective-c situation in
...
my last patch.
llvm-svn: 97075
2010-02-24 22:53:58 +00:00
Fariborz Jahanian
8652be05b7
Implement nasty rewriting of nested blocks when inner
...
blocks use variables not used in any of the outer blocks.
(Fixes radar 7682149).
llvm-svn: 97073
2010-02-24 22:48:18 +00:00
Fariborz Jahanian
bcb175b230
Correct radar no.
...
llvm-svn: 97009
2010-02-24 01:37:04 +00:00
Fariborz Jahanian
f89eb2b9c2
Fix rewriting of a method when return type is
...
a block pointer type. Fixes radar 7682149.
llvm-svn: 97008
2010-02-24 01:25:40 +00:00
Fariborz Jahanian
c1b7acbaeb
Fixes a rewriting of qualified-id type which exposed a bigger
...
rewriting problem. Fixes radar 7680953.
llvm-svn: 96987
2010-02-23 21:34:38 +00:00
Fariborz Jahanian
b8f018d1e9
Fixes a rewriting of byref variable when its initializer is
...
itself rewritten. Radar 7669784.
llvm-svn: 96798
2010-02-22 20:48:10 +00:00
Ted Kremenek
1979007ca8
Don't emit a warning about a dllimport attribute being used in a typedef
...
when -fms-extensions is specified. Fixes <rdar://problem/7653870>.
llvm-svn: 96722
2010-02-21 05:12:56 +00:00
Ted Kremenek
a3cfc4d1e1
Don't warn about functions redeclared without the dllimport attribute when
...
-fms-extensions is enabled. Fixes <rdar://problem/7669559>.
llvm-svn: 96721
2010-02-21 05:12:53 +00:00
Fariborz Jahanian
f50679151b
__typeof should be able to handle block pointer types when
...
rewriting. Fixes radar 7659483.
llvm-svn: 96549
2010-02-18 01:20:22 +00:00
Fariborz Jahanian
cf01cbef16
More rewriter test converted to compile with clang.
...
llvm-svn: 96406
2010-02-16 22:27:50 +00:00
Fariborz Jahanian
be1896e944
With addition of -Wno-address-of-temporary (thank you Doug) we can now
...
have rewriter test cases which pass the .cpp file through clang
and also test c++ aspect of clang.
llvm-svn: 96405
2010-02-16 22:13:48 +00:00
Fariborz Jahanian
b6a68c0465
Minor rewriter cleanup and a test for a block rewriting bug.
...
llvm-svn: 96361
2010-02-16 17:26:03 +00:00
Fariborz Jahanian
06708cee8d
Test to compile the rewritten file for my last patch.
...
(radar 7649577 related).
llvm-svn: 96274
2010-02-15 21:37:11 +00:00
Fariborz Jahanian
a459c4453d
Fixes a rewriter bug rewriting function decl.
...
with block-pointer-type as one or more of its
arguments. Fixes radar 7638400.
llvm-svn: 95992
2010-02-12 17:52:31 +00:00
Fariborz Jahanian
c3bdefa08d
Patch to rewrite blocks into unique api names.
...
Fixes radar 7630551
llvm-svn: 95796
2010-02-10 20:18:25 +00:00
Fariborz Jahanian
bbf4320390
Provide rewriting suppport for use of __typeof__
...
in a declaration statement. Fixes radar 7628153.
llvm-svn: 95788
2010-02-10 18:54:22 +00:00
Fariborz Jahanian
68ebe63865
Comment out category's property decls. in rewrite.
...
Fixes radar 7630636.
llvm-svn: 95744
2010-02-10 01:15:09 +00:00
Fariborz Jahanian
73587761e2
Removed non-essential header file from test.
...
llvm-svn: 95396
2010-02-05 18:04:36 +00:00
Fariborz Jahanian
314333847e
Fixes a minor rewriter bug messaging inside a function call.
...
Fixes radar 7617047.
llvm-svn: 95392
2010-02-05 17:48:10 +00:00
Fariborz Jahanian
80fadb5069
Fix a nested ivar reference rewriting bug.
...
(Fixes radar 7607605).
llvm-svn: 95341
2010-02-05 01:35:00 +00:00
Fariborz Jahanian
b8355e3b9f
Fix rewriting of 'const' __block variables in
...
the rewriter. (Fixes radar 7607781).
llvm-svn: 95267
2010-02-04 00:07:58 +00:00
Fariborz Jahanian
80c54b05a0
Fix more rewriting of protocol-quialified 'id' type.
...
(Fixes radar 7607413).
llvm-svn: 95257
2010-02-03 21:29:28 +00:00
Fariborz Jahanian
06769f9197
Fix up rewriting of protocol qualified types in objc rewriter.
...
Fixes radar 7589414.
llvm-svn: 95097
2010-02-02 18:35:07 +00:00
Fariborz Jahanian
b5f99c3f4f
Fixes rewriter bug rewriting byref related API where a struct
...
definition comes after where it is needed. Fixes radar 7589385.
llvm-svn: 94788
2010-01-29 01:55:49 +00:00
Fariborz Jahanian
81310810bd
Fixes a rewrite bug rewriting nested ivars reference.
...
(Radar 7583971).
llvm-svn: 94724
2010-01-28 01:41:20 +00:00
Fariborz Jahanian
7b99f27392
Fix a regression caused by my rewriting of cast of ivar
...
access (was radar 7575882).
llvm-svn: 94481
2010-01-26 00:29:22 +00:00
Fariborz Jahanian
d360ce9d57
Fixes a rewriting bug of access ivar of a variable cast
...
to subclass. (Fixes radar 7575882).
llvm-svn: 94444
2010-01-25 20:50:02 +00:00
Fariborz Jahanian
734e95e05c
Enhance test to check on expected rewritten output.
...
llvm-svn: 94368
2010-01-24 18:40:06 +00:00
Fariborz Jahanian
da8ec2bc9e
Patch to implement rewriting of properties.
...
Fixes radar 7562952.
llvm-svn: 94087
2010-01-21 17:36:00 +00:00
Fariborz Jahanian
f3b9b9583e
Rewriteing of gnu extension __typeof in objective-c rewriter.
...
Fixes radar 6358225.
llvm-svn: 93917
2010-01-19 21:48:35 +00:00
Fariborz Jahanian
faf85c0dbe
Fix a rewriting crash and correct rewriting of __block
...
declaration where its initializer has a type-cast.
llvm-svn: 93650
2010-01-16 19:36:43 +00:00
Fariborz Jahanian
5c26eeefdd
Do not do the block-specific rewrite when there is no block literals.
...
Fixes radar 7546096.
llvm-svn: 93519
2010-01-15 18:14:52 +00:00
Fariborz Jahanian
195ac2dfab
Patch to avoid duplicate declaration of byref structs
...
for __block variables of same name declared in multiple scopes.
Fixes radar 7540194
llvm-svn: 93474
2010-01-14 23:05:52 +00:00
Fariborz Jahanian
e2dd5428e6
Fix a bug in rewrite whereby functions using blocks put extern "C" in wrong place.
...
Fixes radar 7284618.
llvm-svn: 93382
2010-01-14 00:35:56 +00:00
Fariborz Jahanian
d0bbf66895
Fixes a rewrite bug rewriting a block call argument which has a trvial
...
constructor. Fixes radar 7537770.
llvm-svn: 93358
2010-01-13 21:41:11 +00:00
Fariborz Jahanian
42c06998ea
Define __weak attribute for objective-c pointers in
...
win32 targets. Fixes radar 7530235. Daniel please review.
llvm-svn: 93246
2010-01-12 18:33:57 +00:00
Fariborz Jahanian
5951609ac2
Fix rewriting of MacOS sjlj based eh.
...
Fixes radar 7522880.
llvm-svn: 93219
2010-01-12 01:22:23 +00:00
Fariborz Jahanian
1c2cb6df9e
Fix rewriting for forward class declaration.
...
(fixes radar 6969189).
llvm-svn: 93201
2010-01-11 22:48:40 +00:00
Fariborz Jahanian
2990c029ad
Fix a problem related to rewrite of anonymous unions.
...
(fixes radar 6948022)
llvm-svn: 93186
2010-01-11 21:17:32 +00:00
Fariborz Jahanian
9146e44124
Fixup rewrite of ivars accessed via an explicit object
...
in a function. Fixes radar 7522803.
llvm-svn: 93159
2010-01-11 17:50:35 +00:00
Fariborz Jahanian
39d70940e4
clang ObjC rewriter: generated code used in "for (x in y)" loop uses
...
incorrect cast, causing compile error (fixes radar 7342867).
llvm-svn: 92986
2010-01-08 01:29:44 +00:00
Fariborz Jahanian
0f3aecf272
Fix rewriting of ivars. Fixes radar 7490331.
...
llvm-svn: 92924
2010-01-07 18:18:32 +00:00
Fariborz Jahanian
6722fc0c09
Make this test be ingored for linux.
...
llvm-svn: 92880
2010-01-07 00:31:48 +00:00
Fariborz Jahanian
bdf198bc59
Fixes the test.
...
llvm-svn: 92875
2010-01-06 23:54:34 +00:00
Fariborz Jahanian
017a6067e5
Test case for rewriting of __weak byref objects.
...
llvm-svn: 92868
2010-01-06 23:31:34 +00:00
Kovarththanan Rajaratnam
55e74a1a6a
Remove RewriteBlocks. It has been superseded by RewriteObjC
...
llvm-svn: 92014
2009-12-23 18:03:34 +00:00
Fariborz Jahanian
6ab7ed40c7
Implemented rewriting of invocation of a block ivar.
...
(radar 7482224).
llvm-svn: 91652
2009-12-18 01:15:21 +00:00
Daniel Dunbar
8fbe78f6fc
Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.
...
- This is designed to make it obvious that %clang_cc1 is a "test variable"
which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
can be useful to redefine what gets run as 'clang -cc1' (for example, to set
a default target).
llvm-svn: 91446
2009-12-15 20:14:24 +00:00
Fariborz Jahanian
d1a2d5719a
Implement conditional block invocation rewrite
...
and some clean up and a block rewriter test.
llvm-svn: 91435
2009-12-15 17:30:20 +00:00
Fariborz Jahanian
c749f2b62f
Make tests use the new clang -cc1 flag.
...
llvm-svn: 91299
2009-12-14 17:47:10 +00:00
Steve Naroff
ec60b43ee2
Integrate the following from the 'objective-rewrite' branch:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=71225
http://llvm.org/viewvc/llvm-project?view=rev&revision=73207
http://llvm.org/viewvc/llvm-project?view=rev&revision=73414
llvm-svn: 90677
2009-12-05 21:43:12 +00:00
Daniel Dunbar
a12113c789
Use '-o' '-' instead of '-o=-' in tests.
...
llvm-svn: 90067
2009-11-29 09:32:12 +00:00
Daniel Dunbar
8b57697954
Eliminate &&s in tests.
...
- 'for i in $(find . -type f); do sed -e 's#\(RUN:.*[^ ]\) *&& *$#\1#g' $i | FileUpdate $i; done', for the curious.
llvm-svn: 86430
2009-11-08 01:45:36 +00:00
Mike Stump
753d120975
Prep for new warning.
...
llvm-svn: 76709
2009-07-22 00:43:08 +00:00
Daniel Dunbar
a45cf5b6b0
Rename clang to clang-cc.
...
Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602
2009-03-24 02:24:46 +00:00
Douglas Gregor
ac5d4c5f8e
Extend builtin "attribute" syntax to include a notation for
...
printf-like functions, both builtin functions and those in the
C library. The function-call checker now queries this attribute do
determine if we have a printf-like function, rather than scanning
through the list of "known functions IDs". However, there are 5
functions they are not yet "builtins", so the function-call checker
handles them specifically still:
- fprintf and vfprintf: the builtins mechanism cannot (yet)
express FILE* arguments, so these can't be encoded.
- NSLog: the builtins mechanism cannot (yet) express NSString*
arguments, so this (and NSLogv) can't be encoded.
- asprintf and vasprintf: these aren't part of the C99 standard
library, so we really shouldn't be defining them as builtins in
the general case (and we don't seem to have the machinery to make
them builtins only on certain targets and depending on whether
extensions are enabled).
llvm-svn: 64512
2009-02-14 00:32:47 +00:00
Steve Naroff
6ab6dc75ef
Fix <rdar://problem/6465284> clang ObjC rewriter: objc_super messed up again.
...
llvm-svn: 61384
2008-12-23 20:11:22 +00:00
Steve Naroff
08628db9d2
Fix <rdar://problem/6429113> clang ObjC rewriter: crash rewriting file with Blocks and properties
...
More fancy footwork to cope with rewriting property 'setters'.
llvm-svn: 60760
2008-12-09 12:56:34 +00:00
Steve Naroff
1042ff345a
Handle chained/nested property 'getters' (obj.p1.p2.p3).
...
This is a follow-up to fixing <rdar://problem/6213955> clang ObjC rewriter: rewriter doesn't appear to support @property and @synthesize.
llvm-svn: 60700
2008-12-08 16:43:47 +00:00
Steve Naroff
6d6da255fb
Fixed <rdar://problem/6213808> clang ObjC rewriter: @finally is not always executed
...
llvm-svn: 60593
2008-12-05 17:03:39 +00:00
Chris Lattner
2ca529ce61
instead of forcing blocks on by default, make them default to off, but let
...
specific targets default them to on. Default blocks to on on 10.6 and later.
Add a -fblocks option that allows the user to override the target's default.
Use -fblocks in the various testcases that use blocks.
llvm-svn: 60563
2008-12-04 23:20:07 +00:00
Steve Naroff
dbfc693f47
Fix <rdar://problem/6291588> assertion failure: SourceManager.h line 489.
...
llvm-svn: 59664
2008-11-19 21:15:47 +00:00
Steve Naroff
e17f52fc23
Tighten up blocks rewriter to handle casts and some other interesting cases.
...
This fixes <rdar://problem/6289007> clang block rewriter: ^ in cast is not rewritten.
llvm-svn: 57591
2008-10-15 18:38:58 +00:00
Steve Naroff
87930ca38f
Teach block rewriter to replace '^' with '*' in VarDecls.
...
Since we don't have DeclGroup's and location information for types, there is some fancy footwork to do this fairly reliably.
O.K...it's a kludge. One day, we can use this as motivation to do this more gracefully:-)
llvm-svn: 56499
2008-09-23 19:24:41 +00:00
Steve Naroff
ad7013b1e6
Fix crasher in RewriteObjC::RewriteObjCSynchronizedStmt(). Can't depend on the source locations of the sync expression (since it may have been rewritten.
...
Fixes <rdar://problem/6156363> clang ObjC rewriter: rewriting attached file causes assertion failure: invalid FileID
llvm-svn: 54986
2008-08-19 13:04:19 +00:00
Daniel Dunbar
5b288788b3
Fix a test RUN line to not generate '=-' in test directory
...
llvm-svn: 53865
2008-07-21 18:42:27 +00:00
Steve Naroff
ce2dca186b
RewriteObjC::RewriteObjCTryStmt():Don't synthesize a catch begin if there are 0 catch clauses.
...
This fixes <rdar://problem/5987211> clang ObjC rewriter: @try / @finally block produces unbalanced output.
llvm-svn: 53679
2008-07-16 15:31:30 +00:00
Chris Lattner
a9b3cae8fd
Switch 'super' from being a weird cast thing to being a predefined expr node.
...
Patch by David Chisnall with objc rewriter and stmtdumper updates from me.
llvm-svn: 52580
2008-06-21 18:04:54 +00:00
Argyrios Kyrtzidis
351763e156
Multiple tests in a single test file must be linked with '&&'.
...
Otherwise, failing tests other than the last one will not be reported.
llvm-svn: 52231
2008-06-12 12:40:02 +00:00
Eli Friedman
7e4f41ef3f
Don't include objc.h, so the rewriter tests work on machines without it.
...
llvm-svn: 52082
2008-06-07 23:15:03 +00:00
Chris Lattner
10a7bd6341
fix a nasty off-by-one error.
...
llvm-svn: 51519
2008-05-23 23:29:33 +00:00
Chris Lattner
17c2476d0b
fix an inconsistency computing offsets that caused a crash on rewrite-nest.m
...
llvm-svn: 51514
2008-05-23 23:06:56 +00:00
Steve Naroff
1dc53ef494
Rename RewriteTest->RewriteObjC.
...
llvm-svn: 49692
2008-04-14 22:03:09 +00:00
Steve Naroff
f9e7c90129
Only have the rewriter produce a file when there are no errors.
...
llvm-svn: 48926
2008-03-28 22:26:09 +00:00
Steve Naroff
c10c2e339f
Fix rewriter tests to work with new output file logic. This changes forces the output to standard out (rather than generate a .cpp file, which is the new default for the rewriter).
...
llvm-svn: 48847
2008-03-26 22:28:40 +00:00
Chris Lattner
97d496c182
Teach the rewriter how to respect the -o option.
...
llvm-svn: 48669
2008-03-22 00:08:40 +00:00
Steve Naroff
35cb7960e3
Two fixes to RewriteTest::RewriteObjCIvarRefExpr():
...
- For explicit ivar refers, make sure the cast is propagated to the AST.
- Don't free the base (since it is still in use).
This fixes the recent regression to test/Rewriter/objc-ivar-receiver-1.m.
llvm-svn: 48309
2008-03-12 23:15:19 +00:00
Steve Naroff
4182fd56ad
Since the rewriter now outputs C++, it no longer makes sense to pipe the output to clang.
...
This should "fix" all but one of the test failure.
llvm-svn: 48275
2008-03-12 02:07:40 +00:00
Steve Naroff
edb5bc6f09
Fix two rewriter bugs with @catch .
...
- Support @catch(...), rather than crash:-)
- Make sure all catch bodies get rewritten. This "fix" is really a workaround until the iterator for the "try" AST is fixed. Will fix this in a separate commit.
llvm-svn: 46644
2008-02-01 20:02:07 +00:00
Ted Kremenek
e9a709a0c5
Moved "Rewriter" tests from test/Sema to test/Rewriter.
...
llvm-svn: 46640
2008-02-01 17:05:54 +00:00