| Daniel Dunbar | 8fbe78f | 2009-12-15 20:14:24 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1  -fsyntax-only -verify %s | 
| Fariborz Jahanian | 3baaffb | 2009-05-05 18:34:37 +0000 | [diff] [blame] | 2 |  | 
|  | 3 | @protocol P | 
|  | 4 | - (id) inst_in_proto; | 
|  | 5 | @end | 
|  | 6 |  | 
|  | 7 | @interface Object <P> | 
|  | 8 | - (id) inst_in_root; | 
|  | 9 | @end | 
|  | 10 |  | 
|  | 11 | @interface Base | 
|  | 12 | @end | 
|  | 13 |  | 
|  | 14 | @interface Derived: Base | 
|  | 15 | - (id)starboard; | 
|  | 16 | @end | 
|  | 17 |  | 
|  | 18 | void foo(void) { | 
|  | 19 | Class receiver; | 
|  | 20 |  | 
|  | 21 | [Derived starboard]; // expected-warning {{method '+starboard' not found}} | 
|  | 22 |  | 
|  | 23 | [receiver starboard]; // expected-warning {{instance method 'starboard' is being used on 'Class'}} | 
|  | 24 | [receiver inst_in_root]; // Ok! | 
|  | 25 | [receiver inst_in_proto]; // Ok! | 
|  | 26 | } | 
|  | 27 |  |