1extern void abort (void);
2
3struct A
4{
5  int i;
6};
7struct B
8{
9  struct A a;
10  int j;
11};
12
13static void
14foo (struct B *p)
15{
16  ((struct A *)p)->i = 1;
17}
18
19int main()
20{
21  struct A a;
22  a.i = 0;
23  foo ((struct B *)&a);
24  if (a.i != 1)
25    abort ();
26  return 0;
27}
28
29