1 // PR c++/57319
2 // { dg-require-effective-target c++11 }
3 
4 namespace N1 {
5   struct A { };
6   struct B: virtual A { };
7   struct C: virtual B { };
8 
9   struct D: C
10   {
11     void operator= (D &);
12   };
13 }
14 
15 namespace N2 {
16   struct A { A& operator=(A&&); };
17   struct B: virtual A { };	// { dg-warning "move assignment" }
18   struct C: virtual B { };	// { dg-warning "move assignment" }
19 
20   struct D: C
21   {
22     void operator= (D &);
23   };
24 }
25