[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / SemaObjC / invalid-objc-decls-1.m
blob46338bb4becf7248531b77fce5b363a0df63e7e3
1 // RUN: %clang_cc1 -fsyntax-only -verify %s
3 @interface Super @end
4 Super s1; // expected-error{{interface type cannot be statically allocated}}
6 extern Super e1; // expected-error{{interface type cannot be statically allocated}}
8 struct S {
9   Super s1; // expected-error{{interface type cannot be statically allocated}}
12 @protocol P1 @end
14 @interface INTF
16   Super ivar1; // expected-error{{interface type cannot be statically allocated}}
18 @end
20 struct whatever {
21   Super objField; // expected-error{{interface type cannot be statically allocated}}
24 @interface MyIntf
26   Super<P1> ivar1; // expected-error{{interface type cannot be statically allocated}}
28 @end
30 Super foo( // expected-error{{interface type 'Super' cannot be returned by value; did you forget * in 'Super'}}
31           Super parm1) { // expected-error{{interface type 'Super' cannot be passed by value; did you forget * in 'Super'}}
32         Super p1; // expected-error{{interface type cannot be statically allocated}}
33         return p1;
36 @interface NSMutableSet @end
38 @interface DVTDummyAnnotationProvider  
39   @property(readonly) NSMutableSet annotations; // expected-error{{interface type cannot be statically allocated}}
41 @end