Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/warn/Wnvdtor-4.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do compile } // { dg-options "-Weffc++ -Wno-non-virtual-dtor" } // Warn when a class has virtual functions and accessible non-virtual // destructor, in which case it would be possible but unsafe to delete // an instance of a derived class through a pointer to the base class. struct A { protected: ~A(); public: virtual void f() = 0; }; struct B { private: ~B(); public: virtual void f() = 0; }; struct C { virtual void f() = 0; }; struct D { ~D(); virtual void f() = 0; }; struct E; struct F { protected: friend class E; ~F(); public: virtual void f() = 0; }; struct G { private: friend class E; ~G(); public: virtual void f() = 0; }; struct H {}; struct I1 : H {}; struct I2 : private H {}; struct J1 : H { virtual ~J1 ();}; struct J2 : private H { virtual ~J2 ();}; struct K { virtual void k (); }; struct L1 : K {virtual ~L1 ();}; struct L2 : private K {virtual ~L2 ();};