Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaObjCXX / delay-parsing-cplusfuncs.mm
blobbdac8225261afd1c5452a732d28db8b6ef754d6d
1 // RUN: %clang_cc1 -x objective-c++ -fsyntax-only -Werror -verify -Wno-objc-root-class %s
2 // expected-no-diagnostics
4 @interface MyClass
5 - (void)someMethod;
6 @end
8 struct S {
9   int bar(MyClass * myObject);
11   int gorfbar(MyClass * myObject);
13   S();
14   S(MyClass *O1, MyClass *O2);
15   S(MyClass *O1);
17   MyClass * Obj1, *Obj2;
21 @implementation MyClass
22 - (void)someMethod {
23     [self privateMethod];  // clang already does not warn here
26 int S::bar(MyClass * myObject) {
27     [myObject privateMethod]; 
28     return gorfbar(myObject);
30 - (void)privateMethod { }
32 int S::gorfbar(MyClass * myObject) {
33     [myObject privateMethod]; 
34     [myObject privateMethod1]; 
35     return getMe + bar(myObject);
38 S::S(MyClass *O1, MyClass *O2) : Obj1(O1), Obj2(O2) {
39     [O1 privateMethod]; 
40     [O2 privateMethod1]; 
42 S::S(MyClass *O1) : Obj1(O1){ Obj2 = 0; }
44 S::S() {}
46 - (void)privateMethod1 {
47   getMe = getMe+1;
50 static int getMe;
52 @end