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 14 void 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 {{unimplemented selector}} 22 (void)@selector(y); // expected-warning {{unimplemented selector}} 23 (void)@selector(e); // expected-warning {{unimplemented selector}} 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