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