1 typedef __SIZE_TYPE__ size_t;
2 extern size_t strlen (const char *s);
3 
4 typedef struct A {
5   int a, b;
6 } A;
7 
8 typedef struct B {
9   struct A **a;
10   int b;
11 } B;
12 
13 A *a;
14 int b = 1, c;
15 B d[1];
16 
foo(A * x,const char * y,int z)17 void foo (A *x, const char *y, int z)
18 {
19   c = y[4] + z * 25;
20 }
21 
bar(const char * v,int w,int x,const char * y,int z)22 A *bar (const char *v, int w, int x, const char *y, int z)
23 {
24   if (w)
25     abort ();
26   exit (0);
27 }
28 
test(const char * x,int * y)29 void test (const char *x, int *y)
30 {
31   foo (d->a[d->b], "test", 200);
32   d->a[d->b] = bar (x, b ? 0 : 65536, strlen (x), "test", 201);
33   d->a[d->b]->a++;
34   if (y)
35     d->a[d->b]->b = *y;
36 }
37 
main()38 int main ()
39 {
40   d->b = 0;
41   d->a = &a;
42   test ("", 0);
43 }
44