// { dg-do assemble  }
namespace A{
 struct X{
   int i;
   X(){}
   X(int j);
   void operator=(const X&);
   virtual ~X(){}
 };
 void X::operator=(const X&o)
 {
   i=o.i;
 }
}

A::X::X(int j):i(j){}

namespace A{
  struct Y:public X{
    int j;
    Y(int,int);
  };
}

A::Y::Y(int a,int b):X(a),j(b)
{}
