1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -triple x86_64-apple-darwin10 -verify %s 2*67e74705SXin Li// rdar://16628028 3*67e74705SXin Li 4*67e74705SXin Li@interface NSObject 5*67e74705SXin Li+ (void)initialize; // expected-note 2 {{method 'initialize' declared here}} 6*67e74705SXin Li@end 7*67e74705SXin Li 8*67e74705SXin Li@interface I : NSObject 9*67e74705SXin Li+ (void)initialize; // expected-note {{method 'initialize' declared here}} 10*67e74705SXin Li+ (void)SomeRandomMethod; 11*67e74705SXin Li@end 12*67e74705SXin Li 13*67e74705SXin Li@implementation I 14*67e74705SXin Li- (void) Meth { 15*67e74705SXin Li [I initialize]; // expected-warning {{explicit call to +initialize results in duplicate call to +initialize}} 16*67e74705SXin Li [NSObject initialize]; // expected-warning {{explicit call to +initialize results in duplicate call to +initialize}} 17*67e74705SXin Li} 18*67e74705SXin Li+ (void)initialize { 19*67e74705SXin Li [super initialize]; 20*67e74705SXin Li} 21*67e74705SXin Li+ (void)SomeRandomMethod { // expected-note {{method 'SomeRandomMethod' declared here}} 22*67e74705SXin Li [super initialize]; // expected-warning {{explicit call to [super initialize] should only be in implementation of +initialize}} 23*67e74705SXin Li} 24*67e74705SXin Li@end 25*67e74705SXin Li 26