Alex Lorenz
6c9af50cc8
Add a fixit for -Wobjc-protocol-property-synthesis
...
rdar://32132756
Differential Revision: https://reviews.llvm.org/D34886
llvm-svn: 307014
2017-07-03 10:12:24 +00:00
Alex Lorenz
f937139530
Support attributes for Objective-C categories
...
rdar://31095315
Differential Revision: https://reviews.llvm.org/D31179
llvm-svn: 298589
2017-03-23 11:44:25 +00:00
Fariborz Jahanian
c985a7f6df
Objective-C [qoi]. When reporting that a property is not
...
auto synthesized because it is synthesized in its super
class. locate property declaration in super class
which will default synthesize the property. rdar://18488727
llvm-svn: 219535
2014-10-10 22:08:23 +00:00
Fariborz Jahanian
6c9ee7b0c8
Objective-C. Issue more warning diagnostic when certain
...
properties are not synthesized in property auto-synthesis,
as it can potentiall lead to runtime errors.
rdar://17774815
llvm-svn: 214032
2014-07-26 20:52:26 +00:00
Bob Wilson
3ca7904fea
Remove trailing whitespace introduced in r203028.
...
llvm-svn: 203588
2014-03-11 17:17:16 +00:00
Fariborz Jahanian
6766f8d23b
Objective-C. Suppress the warning for auto synthesis of property not
...
synthesizing protocol properties if class's super class
implements them. // rdar://16089191
llvm-svn: 203028
2014-03-05 23:44:00 +00:00
Ted Kremenek
6d69ac8b8a
Enhance "auto synthesis will not synthesize property in protocol" to include property and protocol name.
...
Implements <rdar://problem/15617839>.
llvm-svn: 197187
2013-12-12 23:40:14 +00:00
Aaron Ballman
f361453519
Making some attribute diagnostics more consistent. Removes a newly-unused diagnostic.
...
Reviewed by Fariborz Jahanian
llvm-svn: 195578
2013-11-24 20:36:50 +00:00
Rafael Espindola
ea1ba0adfc
Replace -fobjc-default-synthesize-properties with disable-objc-default-synthesize-properties.
...
We want the modern behavior most of the time, so inverting the option simplifies
the driver and the tests.
llvm-svn: 191551
2013-09-27 20:21:48 +00:00
Fariborz Jahanian
b7c5f74264
ObjectiveC: Handle the case of qualifying protocols
...
declared in a typedef declaraton used as super
class of an ObjC class. Curretnly, these protocols
are dropped from the class hierarchy. Test shows that
it is now included. // rdar://15051465
llvm-svn: 191395
2013-09-25 19:36:32 +00:00
Aaron Ballman
b7243381c2
Added the attribute name to the err_attribute_wrong_number_arguments diagnostic for clarity; updated almost all of the affected test cases.
...
Thanks to Fariborz Jahanian for the suggestion!
llvm-svn: 186980
2013-07-23 19:30:11 +00:00
Aaron Ballman
b06c690c5d
Fixing the build bots from the previous commit.
...
llvm-svn: 186947
2013-07-23 15:21:34 +00:00
Aaron Ballman
283ef4234c
Replacing some manual diagnostic checks with an existing helper method. Adding missing test cases for the diagnostics.
...
llvm-svn: 186944
2013-07-23 15:16:00 +00:00
Fariborz Jahanian
bbc126e7df
Objective-C: Another case of issuing warning about misusing
...
property auto-synthesis before knowingit it is to be
auto-synthesized. // rdar://14094682
llvm-svn: 183556
2013-06-07 20:26:51 +00:00
Fariborz Jahanian
4614524d4a
Objective-C: Removes a bogus warning about auto-synthesis
...
of properties. Fixes // rdar://14085456
llvm-svn: 183542
2013-06-07 18:32:55 +00:00
Fariborz Jahanian
1446b34629
Objective-C: Tighten the rules when warning
...
is issused for on overriding 'readwrite'
property which is not auto-synthesized.
Buttom line is that if hueristics determine
that there will be a user implemented setter,
no warning will be issued. // rdar://13388503
llvm-svn: 177662
2013-03-21 20:50:53 +00:00
Fariborz Jahanian
b0df66b1ba
Objective-C: In my last path, also check
...
for existence of user setter before
issuing the warning about non-synthesizable
property. // rdar://13388503
llvm-svn: 176906
2013-03-12 22:22:38 +00:00
Fariborz Jahanian
9d25a48b41
Objective-C: Issue warning in couple of obscure cases
...
when property autosynthesis does not synthesize a property.
When property is declared 'readonly' in a super class and
is redeclared 'readwrite' in a subclass. When a property
autosynthesis causes it to share 'ivar' with another property.
// rdar://13388503
llvm-svn: 176889
2013-03-12 19:46:17 +00:00
Patrick Beard
acfbe9e1f2
Added a new attribute, objc_root_class, which informs the compiler when a root class is intentionally declared.
...
The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger
the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698>
llvm-svn: 154187
2012-04-06 18:12:22 +00:00
Ted Kremenek
0c2c90b1ad
After further discussion, rename attribute 'objc_disable_automatic_synthesis' to 'objc_requires_property_definitions'.
...
llvm-svn: 147622
2012-01-05 22:47:47 +00:00
Ted Kremenek
dec9d12fc4
Rename attribute 'objc_suppress_autosynthesis' to 'objc_disable_automatic_synthesis'.
...
llvm-svn: 147567
2012-01-04 23:51:09 +00:00
Fariborz Jahanian
f716839580
Test case for my previous patch.
...
llvm-svn: 147563
2012-01-04 23:16:48 +00:00
Fariborz Jahanian
a28a78ec2f
Support __has_attribute for objc_suppress_autosynthesis
...
which is automatic with proper spelling :).
llvm-svn: 147555
2012-01-04 22:29:28 +00:00
Fariborz Jahanian
7249e36704
objc: diagnose misplacement of objc_suppress_autosynthesis
...
attribute.
llvm-svn: 147490
2012-01-03 22:52:32 +00:00
Fariborz Jahanian
3c9707bd90
objc: use objc_suppress_autosynthesis attribute on classes
...
which should not be default synthesized.
llvm-svn: 147468
2012-01-03 19:46:00 +00:00