blob: db2ec628ee9a9ddf68fcc429ed26b2ccaa664153 [file] [log] [blame]
Chris Lattner4d80c662008-11-13 18:42:17 +00001// RUN: clang -fsyntax-only -verify %s
Chris Lattner4b009652007-07-25 00:24:17 +00002
3int test1() {
4 { ; { ;;}} ;;
5}
6
7int test2() {
8 if (0) { if (1) {} } else { }
9
10 do { } while (0);
11
12 while (0) while(0) do ; while(0);
13
14 for (0;0;0)
15 for (;;)
16 for (9;0;2)
17 ;
18 for (int X = 0; 0; 0);
19}
20
21int test3() {
22 switch (0) {
23
24 case 4:
25 if (0) {
26 case 6: ;
27 }
28 default:
29 ;
30 }
31}
32
33int test4() {
Chris Lattner4d80c662008-11-13 18:42:17 +000034 if (0); // expected-warning {{if statement has empty body}}
Chris Lattner4b009652007-07-25 00:24:17 +000035
36 int X; // declaration in a block.
37
Chris Lattner4d80c662008-11-13 18:42:17 +000038foo: if (0); // expected-warning {{if statement has empty body}}
Chris Lattner4b009652007-07-25 00:24:17 +000039}
40
41typedef int t;
42void test5() {
Chris Lattner4d80c662008-11-13 18:42:17 +000043 if (0); // expected-warning {{if statement has empty body}}
Chris Lattner4b009652007-07-25 00:24:17 +000044
Chris Lattner4d80c662008-11-13 18:42:17 +000045 t x = 0;
Chris Lattner4b009652007-07-25 00:24:17 +000046
Chris Lattner4d80c662008-11-13 18:42:17 +000047 if (0); // expected-warning {{if statement has empty body}}
Chris Lattner4b009652007-07-25 00:24:17 +000048}
49