modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/20030903-1.c (about)

     1  /* Test that we don't let stmt.c think that the enumeration's values are
     2     the entire set of possibilities.  Such an assumption is false for C,
     3     but true for other languages.  */
     4  
     5  enum X { X1 = 1, X2, X3, X4 };
     6  static volatile enum X test = 0;
     7  static void y(int);
     8  
     9  int main()
    10  {
    11    switch (test)
    12      {
    13      case X1: y(1); break;
    14      case X2: y(2); break;
    15      case X3: y(3); break;
    16      case X4: y(4); break;
    17      }
    18    return 0;
    19  }
    20  
    21  static void y(int x) { abort (); }