1 // { dg-do compile { target c++14 } } 2 3 // DR 1658, inaccessible dtor of virtual base doesn't affect an 4 // abstract class. But we should stil check access to non-virtual bases. 5 6 class C; 7 8 struct A { 9 private: ~AA10 ~A (){ } 11 friend class C; 12 }; 13 14 struct B : A { // { dg-error "is private" } 15 virtual bool Ok () = 0; // abstract 16 }; 17 18 struct C : B { ~CC19 ~C () 20 { } // { dg-error "use of deleted" } 21 virtual bool Ok (); 22 }; 23