150
|
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
|