struct a *c;
struct a {
  int b;
} d() {
}

void e()

{
  *c = d();
}
