Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaObjC / error-missing-getter.m
blob406e267aba632f9f24fd496f8d267087fe02e19a
1 // RUN: %clang_cc1  -fsyntax-only -verify %s
3 @interface Subclass 
5     int setterOnly;
7 - (void) setSetterOnly : (int) arg;
8 @end
10 int func (int arg, Subclass *x) {
11     if (x.setterOnly) { // expected-error {{no getter method for read from property}}
12       x.setterOnly = 1;
13     }
14     func(x.setterOnly + 1, x); // expected-error {{no getter method for read from property}}
15     int i = x.setterOnly + 1;  // expected-error {{no getter method for read from property}}
16     return x.setterOnly + 1;   // expected-error {{no getter method for read from property}}
19 @interface TestClass 
20 + (void) setSetterOnly : (int) arg;
21 @end
23 int func2 (int arg) {
24     if (TestClass.setterOnly) { // expected-error {{no getter method for read from property}}
25       TestClass.setterOnly = 1;
26     }
27     func(TestClass.setterOnly + 1, x); // expected-error {{no getter method for read from property}} \
28                                        // expected-error {{use of undeclared identifier 'x'}}
29     int i = TestClass.setterOnly + 1;  // expected-error {{no getter method for read from property}}
30     return TestClass.setterOnly + 1;   // expected-error {{no getter method for read from property}}
33 @interface Sub : Subclass
34 - (int) func3;
35 @end
36 @implementation Sub
37 - (int) func3 {
38         return super.setterOnly; // expected-error {{no getter method for read from property}}
40 @end