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

     1  /* Copyright (C) 2003  Free Software Foundation.
     2  
     3     Test that switch statements suitable using case bit tests are
     4     implemented correctly.
     5  
     6     Written by Roger Sayle, 01/25/2001.  */
     7  
     8  extern void abort (void);
     9  
    10  int
    11  foo (int x)
    12  {
    13    switch (x)
    14      {
    15      case 4:
    16      case 6:
    17      case 9:
    18      case 11:
    19        return 30;
    20      }
    21    return 31;
    22  }
    23  
    24  int
    25  main ()
    26  {
    27    int i, r;
    28  
    29    for (i=-1; i<66; i++)
    30      {
    31        r = foo (i);
    32        if (i == 4)
    33  	{
    34  	  if (r != 30)
    35  	    abort ();
    36  	}
    37        else if (i == 6)
    38  	{
    39  	  if (r != 30)
    40  	    abort ();
    41  	}
    42        else if (i == 9)
    43  	{
    44  	  if (r != 30)
    45  	    abort ();
    46  	}
    47        else if (i == 11)
    48  	{
    49  	  if (r != 30)
    50  	    abort ();
    51  	}
    52        else if (r != 31)
    53  	abort ();
    54      }
    55    return 0;
    56  }
    57