Home | History | Annotate | Download | only in SemaObjC
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 
      3 @interface INTF1 @end
      4 
      5 @protocol p1,p2,p3;
      6 
      7 @protocol p1;
      8 
      9 @protocol PROTO1
     10 - (INTF1<p1>*) meth;
     11 @end
     12 
     13 @protocol p1 @end
     14 
     15 @interface I1 <p1> @end
     16 
     17 @interface E1 <p2> @end	// expected-warning {{cannot find protocol definition for 'p2'}}
     18 
     19 @protocol p2 @end
     20 
     21 
     22 @interface I2 <p1,p2> @end
     23 
     24 @interface E2 <p1,p2,p3> @end  // expected-warning {{cannot find protocol definition for 'p3'}}
     25 
     26 @class U1, U2; // expected-note {{forward class is declared here}}
     27 
     28 @interface E3 : U1 @end // expected-error {{attempting to use the forward class 'U1' as superclass of 'E3'}}
     29 
     30 
     31 @interface I3 : E3  @end
     32 
     33 @interface U2 @end
     34 
     35 @interface I4 : U2 <p1,p2>
     36 @end
     37