Fariborz Jahanian | 4cc9b10 | 2012-02-03 01:02:44 +0000 | [diff] [blame] | 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 | |