1// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %s -o %t-rw.cpp 2// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"id=struct objc_object*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp 3 4void *sel_registerName(const char *); 5void objc_enumerationMutation(id); 6 7@interface MyList 8- (id) allKeys; 9@end 10 11@implementation MyList 12- (unsigned int)countByEnumeratingWithState: (struct __objcFastEnumerationState *)state objects: (id *)items count:(unsigned int)stackcount 13{ 14 return 0; 15} 16- (id) allKeys { return 0; } 17@end 18 19@interface MyList (BasicTest) 20- (void)compilerTestAgainst; 21@end 22 23int LOOP(); 24@implementation MyList (BasicTest) 25- (void)compilerTestAgainst { 26 MyList * el; 27 int i; 28 for (el in [el allKeys]) { 29 for (i = 0; i < 10; i++) 30 if (i == 5) 31 break; 32 33 if (el == 0) 34 break; 35 if (el != self) 36 continue; 37 LOOP(); 38 } 39 40 for (id el1 in[el allKeys]) { 41 LOOP(); 42 for (el in self) { 43 if (el) 44 continue; 45 } 46 if (el1) 47 break; 48 } 49} 50@end 51 52