// RUN: %clang_cc1 -fsyntax-only -verify %s

@interface Super @end
Super s1; // expected-error{{interface type cannot be statically allocated}}

extern Super e1; // expected-error{{interface type cannot be statically allocated}}

struct S {
  Super s1; // expected-error{{interface type cannot be statically allocated}}
};

@protocol P1 @end

@interface INTF
{
  Super ivar1; // expected-error{{interface type cannot be statically allocated}}
}
@end

struct whatever {
  Super objField; // expected-error{{interface type cannot be statically allocated}}
};

@interface MyIntf
{
  Super<P1> ivar1; // expected-error{{interface type cannot be statically allocated}}
}
@end

Super foo( // expected-error{{interface interface type 'Super' cannot be returned by value; did you forget * in 'Super'}}
          Super parm1) { // expected-error{{interface interface type 'Super' cannot be passed by value; did you forget * in 'Super'}}
	Super p1; // expected-error{{interface type cannot be statically allocated}}
	return p1;
}

@interface NSMutableSet @end

@interface DVTDummyAnnotationProvider  
  @property(readonly) NSMutableSet annotations;	// expected-error{{interface type cannot be statically allocated}}

@end

