baz1(void * a)1 long baz1 (void *a)
2 {
3   static long l;
4   return l++;
5 }
6 
baz2(const char * a)7 int baz2 (const char *a)
8 {
9   return 0;
10 }
11 
baz3(int i)12 int baz3 (int i)
13 {
14   if (!i)
15     abort ();
16   return 1;
17 }
18 
19 void **bar;
20 
foo(void * a,long b,int c)21 int foo (void *a, long b, int c)
22 {
23   int d = 0, e, f = 0, i;
24   char g[256];
25   void **h;
26 
27   g[0] = '\n';
28   g[1] = 0;
29 
30   while (baz1 (a) < b) {
31     if (g[0] != ' ' && g[0] != '\t') {
32       f = 1;
33       e = 0;
34       if (!d && baz2 (g) == 0) {
35 	if ((c & 0x10) == 0)
36 	  continue;
37 	e = d = 1;
38       }
39       if (!((c & 0x10) && (c & 0x4000) && e) && (c & 2))
40 	continue;
41       if ((c & 0x2000) && baz2 (g) == 0)
42 	continue;
43       if ((c & 0x1408) && baz2 (g) == 0)
44 	continue;
45       if ((c & 0x200) && baz2 (g) == 0)
46 	continue;
47       if (c & 0x80) {
48 	for (h = bar, i = 0; h; h = (void **)*h, i++)
49 	  if (baz3 (i))
50 	    break;
51       }
52       f = 0;
53     }
54   }
55   return 0;
56 }
57 
main()58 int main ()
59 {
60   void *n = 0;
61   bar = &n;
62   foo (&n, 1, 0xc811);
63   exit (0);
64 }
65