1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li 3*67e74705SXin Li@interface Super @end 4*67e74705SXin LiSuper s1; // expected-error{{interface type cannot be statically allocated}} 5*67e74705SXin Li 6*67e74705SXin Liextern Super e1; // expected-error{{interface type cannot be statically allocated}} 7*67e74705SXin Li 8*67e74705SXin Listruct S { 9*67e74705SXin Li Super s1; // expected-error{{interface type cannot be statically allocated}} 10*67e74705SXin Li}; 11*67e74705SXin Li 12*67e74705SXin Li@protocol P1 @end 13*67e74705SXin Li 14*67e74705SXin Li@interface INTF 15*67e74705SXin Li{ 16*67e74705SXin Li Super ivar1; // expected-error{{interface type cannot be statically allocated}} 17*67e74705SXin Li} 18*67e74705SXin Li@end 19*67e74705SXin Li 20*67e74705SXin Listruct whatever { 21*67e74705SXin Li Super objField; // expected-error{{interface type cannot be statically allocated}} 22*67e74705SXin Li}; 23*67e74705SXin Li 24*67e74705SXin Li@interface MyIntf 25*67e74705SXin Li{ 26*67e74705SXin Li Super<P1> ivar1; // expected-error{{interface type cannot be statically allocated}} 27*67e74705SXin Li} 28*67e74705SXin Li@end 29*67e74705SXin Li 30*67e74705SXin LiSuper foo( // expected-error{{interface type 'Super' cannot be returned by value; did you forget * in 'Super'}} 31*67e74705SXin Li Super parm1) { // expected-error{{interface type 'Super' cannot be passed by value; did you forget * in 'Super'}} 32*67e74705SXin Li Super p1; // expected-error{{interface type cannot be statically allocated}} 33*67e74705SXin Li return p1; 34*67e74705SXin Li} 35*67e74705SXin Li 36*67e74705SXin Li@interface NSMutableSet @end 37*67e74705SXin Li 38*67e74705SXin Li@interface DVTDummyAnnotationProvider 39*67e74705SXin Li @property(readonly) NSMutableSet annotations; // expected-error{{interface type cannot be statically allocated}} 40*67e74705SXin Li 41*67e74705SXin Li@end 42*67e74705SXin Li 43