diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-12-10 23:36:33 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-12-10 23:36:33 +0000 |
commit | 88f5e9be350f4b107f8665183a6d441874e0fcc7 (patch) | |
tree | e885535987fd1ff73da44d2504a506ff93d01846 /test/SemaObjC | |
parent | 141e489973d1c3f90bfee607e288c56b8dbb5721 (diff) | |
download | clang-88f5e9be350f4b107f8665183a6d441874e0fcc7.tar.gz |
Any property declared in a class extension might have user
declared setter or getter in current class extension or one
of the other class extensions. Mark them as synthesized as
property will be synthesized when property with same name is
seen in the @implementation. This prevents bogus warning
about unimplemented methods to be issued for these methods.
Fixes // rdar://8747333
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121597 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaObjC')
-rw-r--r-- | test/SemaObjC/property-in-class-extension.m | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/SemaObjC/property-in-class-extension.m b/test/SemaObjC/property-in-class-extension.m index af68a43f02..0f0c884015 100644 --- a/test/SemaObjC/property-in-class-extension.m +++ b/test/SemaObjC/property-in-class-extension.m @@ -12,4 +12,28 @@ void FUNC () { foo.bar = 0; // expected-error {{assigning to property with 'readonly' attribute not allowed}} } +// rdar://8747333 +@class NSObject; + +@interface rdar8747333 { +@private + NSObject *_bar; + NSObject *_baz; +} +- (NSObject *)baz; +@end + +@interface rdar8747333 () +- (NSObject *)bar; +@end + +@interface rdar8747333 () +@property (readwrite, assign) NSObject *bar; +@property (readwrite, assign) NSObject *baz; +@end + +@implementation rdar8747333 +@synthesize bar = _bar; +@synthesize baz = _baz; +@end |