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