47 lines
555 B
C
47 lines
555 B
C
// PR c++/12491
|
|
// { dg-do compile }
|
|
// { dg-options "-O2" }
|
|
|
|
// The return statements are necessary to trigger this bug.
|
|
|
|
class Object
|
|
{
|
|
public:
|
|
virtual ~Object (void) { return; }
|
|
};
|
|
|
|
class AutoPtr
|
|
{
|
|
public:
|
|
~AutoPtr (void) { delete m_rep; return; }
|
|
private:
|
|
const Object *m_rep;
|
|
};
|
|
|
|
class Handle
|
|
{
|
|
public:
|
|
~Handle (void) { return; }
|
|
private:
|
|
AutoPtr m_rep;
|
|
};
|
|
|
|
class HandleOf:public Handle
|
|
{
|
|
public:
|
|
~HandleOf (void) { return; }
|
|
};
|
|
|
|
class Error
|
|
{
|
|
public:
|
|
~Error (void);
|
|
private:
|
|
HandleOf m_hndl;
|
|
};
|
|
|
|
Error::~Error (void)
|
|
{
|
|
return;
|
|
}
|