1  __extension__ typedef __PTRDIFF_TYPE__ ptr_t;
       2  ptr_t *wm_TR;
       3  ptr_t *wm_HB;
       4  ptr_t *wm_SPB;
       5  
       6  ptr_t mem[100];
       7  
       8  f (mr_TR, mr_SPB, mr_HB, reg1, reg2)
       9       ptr_t *mr_TR;
      10       ptr_t *mr_SPB;
      11       ptr_t *mr_HB;
      12       ptr_t *reg1;
      13       ptr_t *reg2;
      14  {
      15    ptr_t *x = mr_TR;
      16  
      17    for (;;)
      18      {
      19        if (reg1 < reg2)
      20  	goto out;
      21        if ((ptr_t *) *reg1 < mr_HB && (ptr_t *) *reg1 >= mr_SPB)
      22  	*--mr_TR = *reg1;
      23        reg1--;
      24      }
      25   out:
      26  
      27    if (x != mr_TR)
      28      abort ();
      29  }
      30  
      31  main ()
      32  {
      33    mem[99] = (ptr_t) mem;
      34    f (mem + 100, mem + 6, mem + 8, mem + 99, mem + 99);
      35    exit (0);
      36  }