forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			26 lines
		
	
	
		
			875 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			875 B
		
	
	
	
		
			Objective-C
		
	
	
	
// RUN: %clang_cc1  -fsyntax-only  -triple x86_64-apple-darwin10 -verify %s
 | 
						|
// rdar://16628028
 | 
						|
 | 
						|
@interface NSObject
 | 
						|
+ (void)initialize; // expected-note 2 {{method 'initialize' declared here}}
 | 
						|
@end
 | 
						|
 | 
						|
@interface I : NSObject 
 | 
						|
+ (void)initialize; // expected-note {{method 'initialize' declared here}}
 | 
						|
+ (void)SomeRandomMethod;
 | 
						|
@end
 | 
						|
 | 
						|
@implementation I
 | 
						|
- (void) Meth { 
 | 
						|
  [I initialize];     // expected-warning {{explicit call to +initialize results in duplicate call to +initialize}} 
 | 
						|
  [NSObject initialize]; // expected-warning {{explicit call to +initialize results in duplicate call to +initialize}}
 | 
						|
}
 | 
						|
+ (void)initialize {
 | 
						|
  [super initialize];
 | 
						|
}
 | 
						|
+ (void)SomeRandomMethod { // expected-note {{method 'SomeRandomMethod' declared here}}
 | 
						|
  [super initialize]; // expected-warning {{explicit call to [super initialize] should only be in implementation of +initialize}}
 | 
						|
}
 | 
						|
@end
 | 
						|
 |