OSDN Git Service

* gcc.dg/cpp/ucs.c: Improved long UCS test.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / Wswitch-default.c
1 /* { dg-do compile } */
2 /* { dg-options "-Wswitch-default" } */
3
4 enum e { e1, e2 };
5
6 int
7 foo (int i, int j, enum e ei, enum e ej, enum e ek, enum e el,
8      enum e em, enum e en, enum e eo, enum e ep)
9 {
10   switch (i)
11     {
12     case 1: return 1;
13     case 2: return 2;
14     } /* { dg-warning "switch missing default case" } */
15   switch (j)
16     {
17     case 3: return 4;
18     case 4: return 3;
19     default: break;
20     }
21   switch (ei)
22     { /* { dg-warning "switch missing default case" } */
23     }
24   switch (ej)
25     {
26     default: break;
27     }
28   switch (ek)
29     {
30     case e1: return 1;
31     } /* { dg-warning "switch missing default case" } */
32   switch (el)
33     {
34     case e1: return 1;
35     default: break;
36     }
37   switch (em)
38     {
39     case e1: return 1;
40     case e2: return 2;
41     } /* { dg-warning "switch missing default case" } */
42   switch (en)
43     {
44     case e1: return 1;
45     case e2: return 2;
46     default: break;
47     }
48   switch (eo)
49     {
50     case e1: return 1;
51     case e2: return 2;
52     case 3: return 3;
53     } /* { dg-warning "switch missing default case" } */
54   switch (ep)
55     {
56     case e1: return 1;
57     case e2: return 2;
58     case 3: return 3;
59     default: break;
60     }
61   return 0;
62 }