1 // RUN: %clang_cc1 -fsyntax-only -verify %s 2 3 @interface MyClass1 4 @end 5 6 @protocol P 7 - (void) Pmeth; // expected-note {{method declared here }} 8 - (void) Pmeth1; // expected-note {{method declared here }} 9 @end 10 11 @interface MyClass1(CAT) <P> // expected-note {{required for direct or indirect protocol 'P'}} 12 - (void) meth2; // expected-note {{method definition for 'meth2' not found}} 13 @end 14 15 @implementation MyClass1(CAT) // expected-warning {{incomplete implementation}} \ 16 // expected-warning {{method in protocol not implemented [-Wprotocol]}} 17 - (void) Pmeth1{} 18 @end 19 20 @interface MyClass1(DOG) <P> // expected-note {{required for direct or indirect protocol 'P'}} 21 - (void)ppp; // expected-note {{method definition for 'ppp' not found}} 22 @end 23 24 @implementation MyClass1(DOG) // expected-warning {{incomplete implementation}} \ 25 // expected-warning {{method in protocol not implemented [-Wprotocol]}} 26 - (void) Pmeth {} 27 @end 28 29 @implementation MyClass1(CAT1) 30 @end 31