struct A;
struct B {
  struct A *pA;
};
struct C;
struct E {
  struct A **pA;
  struct C *pC;
};
static void f(struct E *pE, struct B *pB)
{
  pB->pA = pE->pA[0];
}
static const struct { int x; } foo[] = {{ 1 }};
struct C {
  int bar[(sizeof foo/sizeof foo[0])];
};
