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

     1  f (b, c)
     2       unsigned char *b;
     3       int c;
     4  {
     5    unsigned long v = 0;
     6    switch (c)
     7      {
     8      case 'd':
     9        v = ((unsigned long)b[0] << 8) + b[1];
    10        v >>= 9;
    11        break;
    12  
    13      case 'k':
    14        v = b[3] >> 4;
    15        break;
    16  
    17      default:
    18        abort ();
    19      }
    20  
    21    return v;
    22  }
    23  main ()
    24  {
    25    char buf[4];
    26    buf[0] = 170; buf[1] = 5;
    27    if (f (buf, 'd') != 85)
    28      abort ();
    29    exit (0);
    30  }