(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
execute/
20051110-2.c
       1  void add_unwind_adjustsp (long);
       2  void abort (void);
       3  
       4  unsigned char bytes[5];
       5  
       6  int flag;
       7  
       8  void
       9  add_unwind_adjustsp (long offset)
      10  {
      11    int n;
      12    unsigned long o;
      13  
      14    o = (long) ((offset - 0x204) >> 2);
      15  
      16    n = 0;
      17    do
      18      {
      19  a:
      20        bytes[n] = o & 0x7f;
      21        o >>= 7;
      22        if (o)
      23          {
      24  	  bytes[n] |= 0x80;
      25  	  if (flag)
      26  	    goto a;
      27  	}
      28        n++;
      29      }
      30    while (o);
      31  }
      32  
      33  int main(void)
      34  {
      35    add_unwind_adjustsp (4132);
      36    if (bytes[0] != 0x88 || bytes[1] != 0x07)
      37      abort ();
      38    return 0;
      39  }