Douglas Gregor | 025452f | 2009-04-17 00:04:06 +0000 | [diff] [blame] | 1 | // Header for PCH test stmts.c |
2 | |||||
3 | void f0(int x) { | ||||
4 | // NullStmt | ||||
5 | ; | ||||
6 | // IfStmt | ||||
7 | if (x) { | ||||
8 | } else if (x + 1) { | ||||
9 | } | ||||
10 | |||||
11 | switch (x) { | ||||
12 | case 0: | ||||
13 | x = 17; | ||||
14 | break; | ||||
15 | |||||
16 | case 1: | ||||
17 | break; | ||||
18 | |||||
19 | default: | ||||
Douglas Gregor | 0de9d88 | 2009-04-17 16:34:57 +0000 | [diff] [blame] | 20 | switch (x >> 1) { |
21 | case 7: | ||||
22 | // fall through | ||||
23 | case 9: | ||||
24 | break; | ||||
25 | } | ||||
26 | x += 2; | ||||
Douglas Gregor | 025452f | 2009-04-17 00:04:06 +0000 | [diff] [blame] | 27 | break; |
28 | } | ||||
Douglas Gregor | d921cf9 | 2009-04-17 00:16:09 +0000 | [diff] [blame] | 29 | |
30 | while (x > 20) { | ||||
31 | if (x > 30) { | ||||
32 | --x; | ||||
33 | continue; | ||||
Douglas Gregor | 67d8249 | 2009-04-17 00:29:51 +0000 | [diff] [blame] | 34 | } else if (x < 5) |
35 | break; | ||||
Douglas Gregor | 1de05fe | 2009-04-17 18:18:49 +0000 | [diff] [blame^] | 36 | else |
37 | goto done; | ||||
Douglas Gregor | d921cf9 | 2009-04-17 00:16:09 +0000 | [diff] [blame] | 38 | } |
Douglas Gregor | 67d8249 | 2009-04-17 00:29:51 +0000 | [diff] [blame] | 39 | |
40 | do { | ||||
41 | x++; | ||||
42 | } while (x < 10); | ||||
43 | |||||
Douglas Gregor | 1de05fe | 2009-04-17 18:18:49 +0000 | [diff] [blame^] | 44 | almost_done: |
Douglas Gregor | 84f2170 | 2009-04-17 16:55:36 +0000 | [diff] [blame] | 45 | for (int y = x; y < 20; ++y) { |
46 | if (x + y == 12) | ||||
Douglas Gregor | 0de9d88 | 2009-04-17 16:34:57 +0000 | [diff] [blame] | 47 | return; |
Douglas Gregor | 1de05fe | 2009-04-17 18:18:49 +0000 | [diff] [blame^] | 48 | else if (x - y == 7) |
49 | goto almost_done; | ||||
Douglas Gregor | 0de9d88 | 2009-04-17 16:34:57 +0000 | [diff] [blame] | 50 | } |
Douglas Gregor | 84f2170 | 2009-04-17 16:55:36 +0000 | [diff] [blame] | 51 | |
Douglas Gregor | 1de05fe | 2009-04-17 18:18:49 +0000 | [diff] [blame^] | 52 | done: |
53 | x = x + 2; | ||||
54 | |||||
Douglas Gregor | 84f2170 | 2009-04-17 16:55:36 +0000 | [diff] [blame] | 55 | int z = x, *y, j = 5; |
Douglas Gregor | 0de9d88 | 2009-04-17 16:34:57 +0000 | [diff] [blame] | 56 | } |
57 | |||||
58 | int f1(int x) { | ||||
59 | switch (x) { | ||||
60 | case 17: | ||||
61 | return 12; | ||||
62 | |||||
63 | default: | ||||
64 | break; | ||||
65 | } | ||||
66 | |||||
67 | return x*2; | ||||
Douglas Gregor | 025452f | 2009-04-17 00:04:06 +0000 | [diff] [blame] | 68 | } |
Douglas Gregor | 84f2170 | 2009-04-17 16:55:36 +0000 | [diff] [blame] | 69 | |
70 | const char* what_is_my_name(void) { return __func__; } |