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 | |
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 | |