diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2009-09-14 16:40:48 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2009-09-14 16:40:48 +0000 |
commit | c3f48cd3f08c384de50a3eeceaa79f4800a35f19 (patch) | |
tree | 314773e3eec5e6fbfa27fd03c3f713c9c5491178 /test/SemaObjC | |
parent | de1d26b9c1d8823b173e4d77015ad88b4da70559 (diff) |
Using the property dot-syntax to invoke a non-eixsting
structure-valued setter should cause a user error instead of
crash.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81769 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaObjC')
-rw-r--r-- | test/SemaObjC/property-error-readonly-assign.m | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/SemaObjC/property-error-readonly-assign.m b/test/SemaObjC/property-error-readonly-assign.m index edeff09dfa..d5cef78f18 100644 --- a/test/SemaObjC/property-error-readonly-assign.m +++ b/test/SemaObjC/property-error-readonly-assign.m @@ -19,3 +19,26 @@ void f0(A *a, B* b) { b.ok = 20; } +typedef struct { + int i1, i2; +} NSRect; + +NSRect NSMakeRect(); + +@interface NSWindow +{ + NSRect _frame; +} +- (NSRect)frame; +@end + +@interface NSWindow (Category) +-(void)methodToMakeClangCrash; +@end + +@implementation NSWindow (Category) +-(void)methodToMakeClangCrash +{ + self.frame = NSMakeRect(); // expected-error {{setter method is needed to assign to object using property assignment syntax}} +} +@end |