1 | // RUN: %clang_cc1 -fsyntax-only -Wreceiver-forward-class -verify %s |
2 | // RUN: %clang_cc1 -x objective-c++ -fsyntax-only -Wreceiver-forward-class -verify %s |
3 | // rdar://10686120 |
4 | |
5 | @class A; // expected-note {{forward declaration of class here}} |
6 | |
7 | @interface B |
8 | -(int) width; // expected-note {{using}} |
9 | @end |
10 | @interface C |
11 | -(float) width; // expected-note {{also found}} |
12 | @end |
13 | |
14 | int f0(A *x) { |
15 | return [x width]; // expected-warning {{receiver type 'A' for instance message is a forward declaration}} \ |
16 | // expected-warning {{multiple methods named 'width' found}} \ |
17 | // expected-note {{receiver is treated with 'id' type for purpose of method lookup}} |
18 | } |
19 | |
20 | |