1 // PR c++/11159 : erroneous warning in copy ctor with virtual inheritance 2 // { dg-do compile } 3 // { dg-options "-Wall -Wextra" } 4 struct A 5 { 6 A (); 7 }; 8 9 struct B : virtual A 10 { 11 B (); 12 }; 13 14 struct C : virtual A 15 { 16 C (); 17 }; 18 19 struct D : B, C 20 { DD21 D (D const&){} 22 }; 23 24 template <typename Base> 25 struct E : Base 26 { 27 E (); 28 EE29 E (E const &) 30 : Base () 31 { 32 }; 33 }; 34 35 E<C> foo; 36 E<C> bar (foo); 37 38