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 | 
