diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2013-03-12 22:22:38 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2013-03-12 22:22:38 +0000 |
commit | 1d0d2fe76496ee2f8da9f56cb7f7eb24c4ffba05 (patch) | |
tree | 2de6d71dd245949ea500d0e2e1aa24611df43232 /test/SemaObjC | |
parent | 054d047c0bfe83e68c922df3766cf3f2674ddaed (diff) |
Objective-C: In my last path, also check
for existence of user setter before
issuing the warning about non-synthesizable
property. // rdar://13388503
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@176906 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaObjC')
-rw-r--r-- | test/SemaObjC/default-synthesize-3.m | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/SemaObjC/default-synthesize-3.m b/test/SemaObjC/default-synthesize-3.m index 06741e119e..09de765373 100644 --- a/test/SemaObjC/default-synthesize-3.m +++ b/test/SemaObjC/default-synthesize-3.m @@ -44,6 +44,7 @@ __attribute ((objc_requires_property_definitions)) // expected-error {{objc_requ @interface NSObject @end @protocol Foo @property (readonly) char isFoo; // expected-note {{property declared here}} +@property (readonly) char isNotFree; @end @interface Bar : NSObject <Foo> @@ -53,6 +54,9 @@ __attribute ((objc_requires_property_definitions)) // expected-error {{objc_requ - (char)isFoo { return 0; } +- (char)isNotFree { + return 0; +} @end @interface Baz : Bar @@ -62,10 +66,17 @@ __attribute ((objc_requires_property_definitions)) // expected-error {{objc_requ @property (readwrite) char isFoo; // expected-warning {{auto property synthesis will not synthesize property 'isFoo' because it is 'readwrite' but it will be synthesized 'readonly' via another property}} @property char Property1; // expected-warning {{auto property synthesis will not synthesize property 'Property1' because it cannot share an ivar with another synthesized property}} @property char Property2; +@property (readwrite) char isNotFree; @end @implementation Baz { char _isFoo; + char _isNotFree; } @synthesize Property2 = Property1; // expected-note {{property synthesized here}} + +- (void) setIsNotFree : (char)Arg { + _isNotFree = Arg; +} + @end |