1 extern void exit (int);
2 extern void abort (void);
3
4 volatile int i;
5 unsigned char *volatile cp;
6 unsigned char d[32] = { 0 };
7
8 int
main(void)9 main (void)
10 {
11 unsigned char c[32] = { 0 };
12 unsigned char *p = d + i;
13 int j;
14 for (j = 0; j < 30; j++)
15 {
16 int x = 0xff;
17 int y = *++p;
18 switch (j)
19 {
20 case 1: x ^= 2; break;
21 case 2: x ^= 4; break;
22 case 25: x ^= 1; break;
23 default: break;
24 }
25 c[j] = y | x;
26 cp = p;
27 }
28 if (c[0] != 0xff
29 || c[1] != 0xfd
30 || c[2] != 0xfb
31 || c[3] != 0xff
32 || c[4] != 0xff
33 || c[25] != 0xfe
34 || cp != d + 30)
35 abort ();
36 exit (0);
37 }
38