]>
Commit | Line | Data |
---|---|---|
79dc3b8e | 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. */ | |
4ee9c684 | 16 | switch (ei) /* { dg-warning "enumeration value `e4' not handled in switch" "enum e4" } */ |
79dc3b8e | 17 | { |
18 | case e1: return 1; | |
19 | case e2: return 2; | |
4ee9c684 | 20 | } |
79dc3b8e | 21 | switch ((int) ei) |
22 | { | |
23 | case e1: return 1; | |
24 | } /* No warning here since switch condition was cast to int. */ | |
4ee9c684 | 25 | switch ((enum e) j) /* { dg-warning "enumeration value `e1' not handled in switch" "enum e1" } */ |
79dc3b8e | 26 | { |
27 | case e2: return 1; | |
28 | case e4: return 2; | |
4ee9c684 | 29 | } |
79dc3b8e | 30 | return 0; |
31 | } |