Clang Project

clang_source_code/test/Rewriter/rewrite-foreach-5.m
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