1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -Werror -verify -Wno-objc-root-class %s 2*67e74705SXin Li// expected-no-diagnostics 3*67e74705SXin Li// rdar://10387088 4*67e74705SXin Li 5*67e74705SXin Li@interface MyClass 6*67e74705SXin Li- (void)someMethod; 7*67e74705SXin Li@end 8*67e74705SXin Li 9*67e74705SXin Li@implementation MyClass 10*67e74705SXin Li- (void)someMethod { 11*67e74705SXin Li [self privateMethod]; // clang already does not warn here 12*67e74705SXin Li} 13*67e74705SXin Li 14*67e74705SXin Liint bar(MyClass * myObject) { 15*67e74705SXin Li [myObject privateMethod]; 16*67e74705SXin Li return gorfbar(myObject); 17*67e74705SXin Li} 18*67e74705SXin Li- (void)privateMethod { } 19*67e74705SXin Li 20*67e74705SXin Liint gorfbar(MyClass * myObject) { 21*67e74705SXin Li [myObject privateMethod]; 22*67e74705SXin Li [myObject privateMethod1]; 23*67e74705SXin Li return getMe + bar(myObject); 24*67e74705SXin Li} 25*67e74705SXin Li 26*67e74705SXin Liint KR(myObject) 27*67e74705SXin LiMyClass * myObject; 28*67e74705SXin Li{ 29*67e74705SXin Li [myObject privateMethod]; 30*67e74705SXin Li [myObject privateMethod1]; 31*67e74705SXin Li return getMe + bar(myObject); 32*67e74705SXin Li} 33*67e74705SXin Li 34*67e74705SXin Li- (void)privateMethod1 { 35*67e74705SXin Li getMe = getMe+1; 36*67e74705SXin Li} 37*67e74705SXin Li 38*67e74705SXin Listatic int getMe; 39*67e74705SXin Li 40*67e74705SXin Listatic int test() { 41*67e74705SXin Li return 0; 42*67e74705SXin Li} 43*67e74705SXin Li 44*67e74705SXin Li@end 45