1__extension__ typedef __PTRDIFF_TYPE__ ptr_t; 2ptr_t *wm_TR; 3ptr_t *wm_HB; 4ptr_t *wm_SPB; 5 6ptr_t mem[100]; 7 8f (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 31main () 32{ 33 mem[99] = (ptr_t) mem; 34 f (mem + 100, mem + 6, mem + 8, mem + 99, mem + 99); 35 exit (0); 36} 37