1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s -Wselector -include %S/Inputs/chain-selectors1.h -include %S/Inputs/chain-selectors2.h 2 3// RUN: %clang_cc1 -x objective-c -Wno-objc-root-class -emit-pch -o %t1 %S/Inputs/chain-selectors1.h 4// RUN: %clang_cc1 -x objective-c -Wno-objc-root-class -emit-pch -o %t2 %S/Inputs/chain-selectors2.h -include-pch %t1 5// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s -Wselector -include-pch %t2 6 7@implementation X 8-(void)f {} 9-(void)f2 {} 10-(void)g: (int)p {} 11-(void)h: (int)p1 foo: (int)p2 {} 12@end 13 14void bar() { 15 id a = 0; 16 [a nothing]; // expected-warning {{method '-nothing' not found}} 17 [a f]; 18 // FIXME: Can't verify notes in headers 19 //[a f2]; 20 21 (void)@selector(x); // expected-warning {{no method with selector 'x' is implemented in this translation unit}} 22 (void)@selector(y); // expected-warning {{no method with selector 'y' is implemented in this translation unit}} 23 (void)@selector(e); // expected-warning {{no method with selector 'e' is implemented in this translation unit}} 24} 25 26@implementation X (Blah) 27- (void)test_Blah { 28 [self blah_method]; 29} 30 31- (void)blah_method { } 32@end 33 34@implementation X (Blarg) 35- (void)test_Blarg { 36 [self blarg_method]; 37} 38 39- (void)blarg_method { } 40@end 41