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
f(mr_TR,mr_SPB,mr_HB,reg1,reg2)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
main()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 }
37