1 // { dg-do compile { target c++14 } } 2 3 // DR 1658, inaccessible dtor of virtual base doesn't affect an 4 // abstract class 5 6 int a_unmade; 7 8 class C; 9 10 11 struct A { 12 private: ~AA13 ~A (){ a_unmade++; } 14 friend class C; 15 }; 16 17 struct B : virtual A { 18 virtual bool Ok () = 0; // abstract 19 }; 20 21 struct C : B { 22 virtual bool Ok (); 23 }; 24 25 C c; 26