39 lines
		
	
	
		
			944 B
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			944 B
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
 | 
						|
 | 
						|
typedef struct objc_class *Class;
 | 
						|
struct __objcFastEnumerationState; 
 | 
						|
typedef struct objc_object {
 | 
						|
 Class isa;
 | 
						|
} *id;
 | 
						|
    
 | 
						|
@protocol P @end
 | 
						|
 | 
						|
@interface MyList
 | 
						|
@end
 | 
						|
    
 | 
						|
@implementation MyList
 | 
						|
- (unsigned int)countByEnumeratingWithState:  (struct __objcFastEnumerationState *)state objects:  (id *)items count:(unsigned int)stackcount
 | 
						|
{
 | 
						|
        return 0;
 | 
						|
}
 | 
						|
@end
 | 
						|
 | 
						|
@interface MyList (BasicTest)
 | 
						|
- (void)compilerTestAgainst;
 | 
						|
@end
 | 
						|
 | 
						|
@implementation MyList (BasicTest)
 | 
						|
- (void)compilerTestAgainst {
 | 
						|
    static i;// expected-warning {{type specifier missing, defaults to 'int'}}
 | 
						|
        for (id el, elem in self)  // expected-error {{only one element declaration is allowed}}
 | 
						|
           ++i;
 | 
						|
        for (id el in self) 
 | 
						|
           ++i;
 | 
						|
	MyList<P> ***p;
 | 
						|
        for (p in self)  // expected-error {{selector element type 'MyList<P> ***' is not a valid object}}
 | 
						|
           ++i;
 | 
						|
 | 
						|
}
 | 
						|
@end
 | 
						|
 |