1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2 3@interface INTF 4- (void) meth; 5- (void) meth : (int) arg1; 6- (int) int_meth; // expected-note {{method definition for 'int_meth' not found}} 7+ (int) cls_meth; // expected-note {{method definition for 'cls_meth' not found}} 8+ (void) cls_meth1 : (int) arg1; // expected-note {{method definition for 'cls_meth1:' not found}} 9@end 10 11@implementation INTF // expected-warning {{incomplete implementation}} 12- (void) meth {} 13- (void) meth : (int) arg2{} 14- (void) cls_meth1 : (int) arg2{} 15@end 16 17@interface INTF1 18- (void) meth; 19- (void) meth : (int) arg1; 20- (int) int_meth; // expected-note {{method definition for 'int_meth' not found}} 21+ (int) cls_meth; // expected-note {{method definition for 'cls_meth' not found}} 22+ (void) cls_meth1 : (int) arg1; // expected-note {{method definition for 'cls_meth1:' not found}} 23@end 24 25@implementation INTF1 // expected-warning {{incomplete implementation}} 26- (void) meth {} 27- (void) meth : (int) arg2{} 28- (void) cls_meth1 : (int) arg2{} 29@end 30 31@interface INTF2 32- (void) meth; 33- (void) meth : (int) arg1; 34- (void) cls_meth1 : (int) arg1; 35@end 36 37@implementation INTF2 38- (void) meth {} 39- (void) meth : (int) arg2{} 40- (void) cls_meth1 : (int) arg2{} 41@end 42 43 44// rdar://8850818 45@interface Root @end 46 47@interface Foo : Root @end 48 49@implementation Foo 50 51- (void)someFunction { return; } 52 53+ (void)anotherFunction { 54 [self someFunction]; // expected-warning {{method '+someFunction' not found (return type defaults to 'id')}} 55} 56@end 57