1 extern void abort(void);
2 struct test1
3 {
4   int a;
5   int b;
6 };
7 struct test2
8 {
9   float d;
10   struct test1 sub;
11 };
12 
13 int global;
14 
bla(struct test1 * xa,struct test2 * xb)15 int bla(struct test1 *xa, struct test2 *xb)
16 {
17   global = 1;
18   xb->sub.a = 1;
19   xa->a = 8;
20   return xb->sub.a;
21 }
22 
main(void)23 int main(void)
24 {
25   struct test2 pom;
26 
27   if (bla (&pom.sub, &pom) != 8)
28     abort ();
29 
30   return 0;
31 }
32 
33