Chris Lattner | 4b00965 | 2007-07-25 00:24:17 +0000 | [diff] [blame] | 1 | // RUN: clang -parse-ast-check %s |
| 2 | |
Chris Lattner | 4b00965 | 2007-07-25 00:24:17 +0000 | [diff] [blame] | 3 | void f (int z) { |
| 4 | while (z) { |
| 5 | default: z--; // expected-error {{statement not in switch}} |
| 6 | } |
| 7 | } |
| 8 | |
Chris Lattner | 3429a81 | 2007-08-23 05:46:52 +0000 | [diff] [blame] | 9 | void foo(int X) { |
| 10 | switch (X) { |
Chris Lattner | 1a4066d | 2007-08-23 06:23:56 +0000 | [diff] [blame] | 11 | case 42: ; // expected-error {{previous case value}} |
Chris Lattner | 3429a81 | 2007-08-23 05:46:52 +0000 | [diff] [blame] | 12 | case 5000000000LL: // expected-warning {{overflow}} |
Chris Lattner | 1a4066d | 2007-08-23 06:23:56 +0000 | [diff] [blame] | 13 | case 42: // expected-error {{duplicate case value}} |
Chris Lattner | 3429a81 | 2007-08-23 05:46:52 +0000 | [diff] [blame] | 14 | ; |
Chris Lattner | 7443e0f | 2007-08-23 17:48:14 +0000 | [diff] [blame^] | 15 | |
| 16 | case 100 ... 99: ; // expected-warning {{empty case range}} |
Chris Lattner | 3429a81 | 2007-08-23 05:46:52 +0000 | [diff] [blame] | 17 | } |
| 18 | } |
| 19 | |
Chris Lattner | 2b1b9a8 | 2007-08-23 14:29:07 +0000 | [diff] [blame] | 20 | void test3(void) { |
| 21 | switch (0); |
| 22 | } |
| 23 | |