/* Further -Wswitch tests. */ /* { dg-do compile } */ /* { dg-options "-Wswitch" } */ enum e { e1 = 0, e2 = 1, e3 = 1, e4 = 2 }; int foo (enum e ei, int j) { switch (ei) { case e1: return 1; case e3: return 2; case e4: return 3; } /* No warning here since e2 has the same value as e3. */ switch (ei) /* { dg-warning "enumeration value 'e4' not handled in switch" "enum e4" } */ { case e1: return 1; case e2: return 2; } switch ((int) ei) { case e1: return 1; } /* No warning here since switch condition was cast to int. */ switch ((enum e) j) /* { dg-warning "enumeration value 'e1' not handled in switch" "enum e1" } */ { case e2: return 1; case e4: return 2; } return 0; }