PR c++/11645
[official-gcc.git] / gcc / testsuite / gcc.dg / 20011107-1.c
blob395de3dae340b5d6bb0f0d1d49506720c361c671
1 /* { dg-do compile { target i?86-*-* } } */
2 /* { dg-options "-O2 -mtune=k6" } */
4 void
5 foo (unsigned char *x, const unsigned char *y)
7 int a = 6;
8 unsigned char *b;
9 for (;;)
11 unsigned char *c = x;
13 while (1)
15 if (c + 2 < y)
16 c += 3;
17 else
18 break;
20 b = x + a;
21 if (*c == 4 || *c == 5)
23 unsigned char d = c[2];
25 if (b[3] == 7 || b[3] == 8)
27 int e = b[3] == 8;
28 if (d < b[4] * 8 && b[5 + d / 8] & (1 << (d % 8)))
29 e = !e;
30 if (!e)
31 x[-3] = 26;
34 else if (*c == 7 && b[3] == 8)
36 int f;
37 for (f = 0; f < (int) c[1]; f++)
38 if (!(c[2 + f] == 0))
39 break;
40 if (f == c[1])
41 x[-3] = 26;
43 x -= 2;