cleanup2.C revision 1.1.1.1
1// PR c++/12491 2// { dg-do compile } 3// { dg-options "-O2" } 4 5// The return statements are necessary to trigger this bug. 6 7class Object 8{ 9public: 10 virtual ~Object (void) { return; } 11}; 12 13class AutoPtr 14{ 15public: 16 ~AutoPtr (void) { delete m_rep; return; } 17private: 18 const Object *m_rep; 19}; 20 21class Handle 22{ 23public: 24 ~Handle (void) { return; } 25private: 26 AutoPtr m_rep; 27}; 28 29class HandleOf:public Handle 30{ 31public: 32 ~HandleOf (void) { return; } 33}; 34 35class Error 36{ 37public: 38 ~Error (void); 39private: 40 HandleOf m_hndl; 41}; 42 43Error::~Error (void) 44{ 45 return; 46} 47