1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2 3 // rdar:// 8565343 4 @interface Foo { 5 @private 6 int _foo; 7 int _foo2; 8 } 9 @property (readwrite, nonatomic) int foo, foo1, foo2, foo3; 10 @property (readwrite, nonatomic) int PROP; 11 @end 12 13 @implementation Foo 14 15 @synthesize foo = _foo; 16 @synthesize foo1; 17 18 - (void)setFoo:(int)value { 19 _foo = foo; // expected-error {{use of undeclared identifier 'foo'}} 20 } 21 22 - (void)setFoo1:(int)value { 23 _foo = foo1; // OK 24 } 25 26 - (void)setFoo2:(int)value { 27 _foo = foo2; // expected-error {{use of undeclared identifier 'foo2'}} 28 } 29 30 - (void)setFoo3:(int)value { 31 _foo = foo3; // OK 32 } 33 34 @synthesize foo2 = _foo2; 35 @synthesize foo3; 36 37 @synthesize PROP=PROP; 38 - (void)setPROP:(int)value { 39 PROP = value; // OK 40 } 41 42 @end 43 44