1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2 3 typedef struct objc_class *Class; 4 struct __objcFastEnumerationState; 5 typedef struct objc_object { 6 Class isa; 7 } *id; 8 9 @protocol P @end 10 11 @interface MyList 12 @end 13 14 @implementation MyList 15 - (unsigned int)countByEnumeratingWithState: (struct __objcFastEnumerationState *)state objects: (id *)items count:(unsigned int)stackcount 16 { 17 return 0; 18 } 19 @end 20 21 @interface MyList (BasicTest) 22 - (void)compilerTestAgainst; 23 @end 24 25 @implementation MyList (BasicTest) 26 - (void)compilerTestAgainst { 27 static i;// expected-warning {{type specifier missing, defaults to 'int'}} 28 for (id el, elem in self) // expected-error {{only one element declaration is allowed}} 29 ++i; 30 for (id el in self) 31 ++i; 32 MyList<P> ***p; 33 for (p in self) // expected-error {{selector element type 'MyList<P> ***' is not a valid object}} 34 ++i; 35 36 } 37 @end 38 39