1// RUN: %clang_cc1 -x objective-c++ -fsyntax-only -Werror -verify -Wno-objc-root-class %s 2// expected-no-diagnostics 3// rdar://10387088 4 5@interface MyClass 6- (void)someMethod; 7@end 8 9struct S { 10 int bar(MyClass * myObject); 11 12 int gorfbar(MyClass * myObject); 13 14 S(); 15 S(MyClass *O1, MyClass *O2); 16 S(MyClass *O1); 17 18 MyClass * Obj1, *Obj2; 19 20}; 21 22@implementation MyClass 23- (void)someMethod { 24 [self privateMethod]; // clang already does not warn here 25} 26 27int S::bar(MyClass * myObject) { 28 [myObject privateMethod]; 29 return gorfbar(myObject); 30} 31- (void)privateMethod { } 32 33int S::gorfbar(MyClass * myObject) { 34 [myObject privateMethod]; 35 [myObject privateMethod1]; 36 return getMe + bar(myObject); 37} 38 39S::S(MyClass *O1, MyClass *O2) : Obj1(O1), Obj2(O2) { 40 [O1 privateMethod]; 41 [O2 privateMethod1]; 42} 43S::S(MyClass *O1) : Obj1(O1){ Obj2 = 0; } 44 45S::S() {} 46 47- (void)privateMethod1 { 48 getMe = getMe+1; 49} 50 51static int getMe; 52 53@end 54