(root)/
gcc-13.2.0/
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  }