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