1struct A
2{
3  int i;
4  long l;
5};
6
7struct B
8{
9  int i;
10};
11
12struct C
13{
14  int i;
15  struct B b;
16};
17
18struct B foo (struct A a)
19{
20  struct C *c = (struct C *) &a;
21  return c->b;
22}
23void bar (struct A a, struct B b)
24{
25  struct C *c = (struct C *) &a;
26  c->b = b;
27}
28