150
|
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
|
236
|
14 void bar(void) {
|
150
|
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
|