This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/4122
- To: nobody at gcc dot gnu dot org
- Subject: Re: c++/4122
- From: Michael Ritzert <mritzert at ti dot uni-mannheim dot de>
- Date: 31 Aug 2001 21:06:00 -0000
- Cc: gcc-prs at gcc dot gnu dot org,
- Reply-To: Michael Ritzert <mritzert at ti dot uni-mannheim dot de>
The following reply was made to PR c++/4122; it has been noted by GNATS.
From: Michael Ritzert <mritzert@ti.uni-mannheim.de>
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org,
michael@ritzert.de
Cc:
Subject: Re: c++/4122
Date: Fri, 31 Aug 2001 22:55:46 +0200
Dies ist eine mehrteilige Nachricht im MIME-Format.
--------------B309B408FF53900F4CCC9C9D
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
I was able to strip down the testcase to the attached file. Note that it
makes a difference where the last destructor is defined:
ritzert@darkstar:~/tmp/gccbug > c++ -c i.cpp && nm -C i.o | grep _non_ex
00000000 W PortableServer::ServantBase::_non_existent()
U non-virtual thunk to
PortableServer::ServantBase::_non_existent()
ritzert@darkstar:~/tmp/gccbug > c++ -c i.cpp -D OK && nm -C i.o | grep
_non_ex
ritzert@darkstar:~/tmp/gccbug >
HTH.
Michael
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view&pr=4122&database=gcc
--------------B309B408FF53900F4CCC9C9D
Content-Type: text/plain; charset=us-ascii;
name="i.cpp"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="i.cpp"
namespace PortableServer
{
class ServantBase
{
protected:
ServantBase() { }
public:
virtual void _non_existent() {};
};
class RefCountServantBase : public virtual ServantBase
{
};
}
namespace POA_CORBA
{
class IRObject : virtual public PortableServer::ServantBase
{
public:
IRObject() { }
};
}
namespace CORBA
{
class IRObject_impl : public virtual PortableServer::RefCountServantBase,
public virtual POA_CORBA::IRObject
{
};
}
namespace POA_CORBA
{
class Container : virtual public POA_CORBA::IRObject
{
public:
Container() { }
};
}
namespace CORBA
{
class Container_impl : public virtual POA_CORBA::Container,
public virtual IRObject_impl
{
public:
Container_impl() {};
virtual ~Container_impl() {}
};
}
namespace CORBA
{
class Repository_impl : public virtual Container_impl
{
public:
Repository_impl() {};
#ifndef OK
virtual ~Repository_impl();
#else
virtual ~Repository_impl() {};
#endif
};
}
#ifndef OK
CORBA::Repository_impl::~Repository_impl()
{
}
#endif
--------------B309B408FF53900F4CCC9C9D--