diff options
Diffstat (limited to 'clang/test/SemaObjC/property-not-lvalue.m')
-rw-r--r-- | clang/test/SemaObjC/property-not-lvalue.m | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/clang/test/SemaObjC/property-not-lvalue.m b/clang/test/SemaObjC/property-not-lvalue.m new file mode 100644 index 0000000..12d2cc6 --- /dev/null +++ b/clang/test/SemaObjC/property-not-lvalue.m @@ -0,0 +1,34 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s + +typedef struct NSSize { + int width; + struct { + int dim; + } inner; +} NSSize; + +@interface Foo { + NSSize _size; +} +@property NSSize size; +@end + +void foo() { + Foo *f; + f.size.width = 2.2; // expected-error {{expression is not assignable}} + f.size.inner.dim = 200; // expected-error {{expression is not assignable}} +} + +// radar 7628953 + +@interface Gorf { +} +- (NSSize)size; +@end + +@implementation Gorf +- (void)MyView_sharedInit { + self.size.width = 2.2; // expected-error {{expression is not assignable}} +} +- (NSSize)size {} +@end |