1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2 3typedef struct objc_class *Class; 4struct __objcFastEnumerationState; 5typedef 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