OSDN Git Service

2009-08-14 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / Wswitch-2.c
1 /* Further -Wswitch tests.  */
2 /* { dg-do compile } */
3 /* { dg-options "-Wswitch" } */
4
5 enum e { e1 = 0, e2 = 1, e3 = 1, e4 = 2 };
6
7 int
8 foo (enum e ei, int j)
9 {
10   switch (ei)
11     {
12     case e1: return 1;
13     case e3: return 2;
14     case e4: return 3;
15     }   /* No warning here since e2 has the same value as e3.  */
16   switch (ei) /* { dg-warning "enumeration value 'e4' not handled in switch" "enum e4" } */
17     {
18     case e1: return 1;
19     case e2: return 2;
20     }
21   switch ((int) ei)
22     {
23     case e1: return 1;
24     }   /* No warning here since switch condition was cast to int.  */
25   switch ((enum e) j) /* { dg-warning "enumeration value 'e1' not handled in switch" "enum e1" } */
26     {
27     case e2: return 1;
28     case e4: return 2;
29     }
30   return 0;
31 }