19f8b19e9SFariborz Jahanian// RUN: %clang_cc1 -fsyntax-only -verify %s 29f8b19e9SFariborz Jahanian// rdar://7020493 39f8b19e9SFariborz Jahanian 49f8b19e9SFariborz Jahanian@protocol P1 59f8b19e9SFariborz Jahanian@optional 69f8b19e9SFariborz Jahanian- (int) PMeth; 79f8b19e9SFariborz Jahanian@required 8*59b10db2STed Kremenek- (void) : (double) arg; // expected-note {{method ':' declared here}} 99f8b19e9SFariborz Jahanian@end 109f8b19e9SFariborz Jahanian 119f8b19e9SFariborz Jahanian@interface NSImage <P1> 12*59b10db2STed Kremenek- (void) initialize; // expected-note {{method 'initialize' declared here}} 139f8b19e9SFariborz Jahanian@end 149f8b19e9SFariborz Jahanian 159f8b19e9SFariborz Jahanian@interface NSImage (AirPortUI) 169f8b19e9SFariborz Jahanian- (void) initialize; 179f8b19e9SFariborz Jahanian@end 189f8b19e9SFariborz Jahanian 199f8b19e9SFariborz Jahanian@interface NSImage() 20*59b10db2STed Kremenek- (void) CEMeth; // expected-note {{method 'CEMeth' declared here}} 219f8b19e9SFariborz Jahanian@end 229f8b19e9SFariborz Jahanian 239f8b19e9SFariborz Jahanian@implementation NSImage (AirPortUI) 249f8b19e9SFariborz Jahanian- (void) initialize {NSImage *p=0; [p initialize]; } // expected-warning {{category is implementing a method which will also be implemented by its primary class}} 259f8b19e9SFariborz Jahanian- (int) PMeth{ return 0; } 269f8b19e9SFariborz Jahanian- (void) : (double) arg{}; // expected-warning {{category is implementing a method which will also be implemented by its primary class}} 279f8b19e9SFariborz Jahanian- (void) CEMeth {}; // expected-warning {{category is implementing a method which will also be implemented by its primary class}} 289f8b19e9SFariborz Jahanian@end 295cc730cdSFariborz Jahanian 305cc730cdSFariborz Jahanian// rdar://10014946 315cc730cdSFariborz Jahaniantypedef char BOOL; 325cc730cdSFariborz Jahanian@interface I 335cc730cdSFariborz Jahanian{ 345cc730cdSFariborz Jahanian BOOL allowsDeleting; 355cc730cdSFariborz Jahanian} 365cc730cdSFariborz Jahanian@property (nonatomic, assign, readwrite) BOOL allowsDeleting; 375cc730cdSFariborz Jahanian@end 385cc730cdSFariborz Jahanian 395cc730cdSFariborz Jahanian@implementation I(CAT) 405cc730cdSFariborz Jahanian- (BOOL) allowsDeleting { return 1; } 415cc730cdSFariborz Jahanian@end 42