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

     1  void add_unwind_adjustsp (long);
     2  void abort (void);
     3  
     4  unsigned char bytes[5];
     5  
     6  void
     7  add_unwind_adjustsp (long offset)
     8  {
     9    int n;
    10    unsigned long o;
    11  
    12    o = (long) ((offset - 0x204) >> 2);
    13  
    14    n = 0;
    15    while (o)
    16      {
    17        bytes[n] = o & 0x7f;
    18        o >>= 7;
    19        if (o)
    20  	bytes[n] |= 0x80;
    21        n++;
    22      }
    23  }
    24  
    25  int main(void)
    26  {
    27    add_unwind_adjustsp (4132);
    28    if (bytes[0] != 0x88 || bytes[1] != 0x07)
    29      abort ();
    30    return 0;
    31  }