1 // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-fragile-abi %s -o %t-rw.cpp 2 // RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp 3 4 void *sel_registerName(const char *); 5 void 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 23 int 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