xref: /aosp_15_r20/external/clang/test/SemaObjC/property-not-lvalue.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
2*67e74705SXin Li
3*67e74705SXin Litypedef struct NSSize {
4*67e74705SXin Li     		int width;
5*67e74705SXin Li		struct {
6*67e74705SXin Li		  int dim;
7*67e74705SXin Li		} inner;
8*67e74705SXin Li} NSSize;
9*67e74705SXin Li
10*67e74705SXin Li@interface Foo  {
11*67e74705SXin Li        NSSize _size;
12*67e74705SXin Li}
13*67e74705SXin Li@property NSSize size;
14*67e74705SXin Li@end
15*67e74705SXin Li
16*67e74705SXin Livoid foo() {
17*67e74705SXin Li        Foo *f;
18*67e74705SXin Li        f.size.width = 2.2; // expected-error {{expression is not assignable}}
19*67e74705SXin Li	f.size.inner.dim = 200; // expected-error {{expression is not assignable}}
20*67e74705SXin Li}
21*67e74705SXin Li
22*67e74705SXin Li// radar 7628953
23*67e74705SXin Li
24*67e74705SXin Li@interface Gorf  {
25*67e74705SXin Li}
26*67e74705SXin Li- (NSSize)size;
27*67e74705SXin Li@end
28*67e74705SXin Li
29*67e74705SXin Li@implementation Gorf
30*67e74705SXin Li- (void)MyView_sharedInit {
31*67e74705SXin Li    self.size.width = 2.2; // expected-error {{expression is not assignable}}
32*67e74705SXin Li}
33*67e74705SXin Li- (NSSize)size {}
34*67e74705SXin Li@end
35