From cb1c19147fa8cf48d75dc9c6efa9c8ed1d4984d4 Mon Sep 17 00:00:00 2001 From: Fariborz Jahanian Date: Mon, 14 Sep 2009 16:40:48 +0000 Subject: Using the property dot-syntax to invoke a non-eixsting structure-valued setter should cause a user error instead of crash. llvm-svn: 81769 --- .../test/SemaObjC/property-error-readonly-assign.m | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'clang/test/SemaObjC') diff --git a/clang/test/SemaObjC/property-error-readonly-assign.m b/clang/test/SemaObjC/property-error-readonly-assign.m index edeff09dfad..d5cef78f18f 100644 --- a/clang/test/SemaObjC/property-error-readonly-assign.m +++ b/clang/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 -- cgit v1.2.3