diff options
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/SemaObjC/property-user-setter.m | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/property-user-setter.m b/clang/test/SemaObjC/property-user-setter.m index 7d4e544f033..d977d1544ea 100644 --- a/clang/test/SemaObjC/property-user-setter.m +++ b/clang/test/SemaObjC/property-user-setter.m @@ -102,3 +102,31 @@ int main (void) { abort (); return 0; } + +// rdar://11363363 +@interface rdar11363363 +{ + id R; +} +@property (copy) id p; +@property (copy) id r; +@property (copy) id Q; +@property (copy) id t; +@property (copy) id T; +@end + +@implementation rdar11363363 +@synthesize p; +@synthesize r; +@synthesize Q; +@synthesize t, T; +- (id) Meth { + self.P = 0; // expected-error {{property 'P' not found on object of type 'rdar11363363 *'}} + self.q = 0; // expected-error {{property 'q' not found on object of type 'rdar11363363 *'}} + self.t = 0; // OK + self.T = 0; // OK + self.R = 0; // expected-error {{property 'R' not found on object of type 'rdar11363363 *'; did you mean to access ivar 'R'?}} + return self.R; // expected-error {{property 'R' not found on object of type 'rdar11363363 *'; did you mean to access ivar 'R'?}} +} +@end + |

