[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Parser / objc-forcollection-neg.m
blob9e5400c5f2ed292ca48de50d67b0f200b363bf4c
1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
3 struct __objcFastEnumerationState; 
4 typedef struct objc_class *Class;
5 typedef struct objc_object {
6  Class isa;
7 } *id;
8     
9             
10 @interface MyList
11 @end
12     
13 @implementation MyList
14 - (unsigned int)countByEnumeratingWithState:  (struct __objcFastEnumerationState *)state objects:  (id *)items count:(unsigned int)stackcount
16         return 0;
18 @end
20 @interface MyList (BasicTest)
21 - (void)compilerTestAgainst;
22 @end
24 @implementation MyList (BasicTest)
25 - (void)compilerTestAgainst {
27         int i=0;
28         for (int * elem in elem) // expected-error {{selector element type 'int *' is not a valid object}} \
29                                     expected-error {{the type 'int *' is not a pointer to a fast-enumerable object}}
30            ++i;
31         for (i in elem)  // expected-error {{use of undeclared identifier 'elem'}} \
32                             expected-error {{selector element type 'int' is not a valid object}}
33            ++i;
34         for (id se in i) // expected-error {{the type 'int' is not a pointer to a fast-enumerable object}} 
35            ++i;
37 @end