1 // RUN: %clang_cc1 -fsyntax-only -verify %s 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 28