// { dg-do assemble  }

class A {
  int a;
 public:
  A (int aa = 3);
};

class B {
  class A {
  public:
    A (int, int);
  };
  A aa;
 public:
  B (int);
};

extern void foo();
B::B (int z) : aa (1, z) {
  foo ();
}
