1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3@interface INTF1 @end 4 5@protocol p1,p2,p3; // expected-note {{protocol 'p2' has no definition}} \ 6 // expected-note {{protocol 'p3' has no definition}} 7 8@protocol p1; 9 10@protocol PROTO1 11- (INTF1<p1>*) meth; 12@end 13 14@protocol p1 @end 15 16@interface I1 <p1> @end 17 18@interface E1 <p2> @end // expected-warning {{cannot find protocol definition for 'p2'}} 19 20@protocol p2 @end 21 22 23@interface I2 <p1,p2> @end 24 25@interface E2 <p1,p2,p3> @end // expected-warning {{cannot find protocol definition for 'p3'}} 26 27@class U1, U2; // expected-note {{forward declaration of class here}} 28 29@interface E3 : U1 @end // expected-error {{attempting to use the forward class 'U1' as superclass of 'E3'}} 30 31 32@interface I3 : E3 @end 33 34@interface U2 @end 35 36@interface I4 : U2 <p1,p2> 37@end 38 39// rdar://16111182 40@interface NSObject @end 41 42@protocol UndefinedParentProtocol; // expected-note {{protocol 'UndefinedParentProtocol' has no definition}} 43 44@protocol UndefinedProtocol <UndefinedParentProtocol> 45@end 46 47@interface SomeObject : NSObject <UndefinedProtocol> // expected-warning {{cannot find protocol definition for 'UndefinedProtocol'}} 48@end 49