[omniORB] gcc and multiple virtual inheritance

zee zeyu@kasenna.com
Mon, 18 Feb 2002 20:30:38 -0800


i tried again with the changes you suggested and i got the same problem.
purify sessions suggest that the constructors of the base classes were
trying to read/write past the end of malloced blocks.

by the way i am using omniORB4 snapshot 20020115 with gcc-2.95.3 on
solaris8-sparc.  i wonder if i overlooked something obvious.

z

----- Original Message -----
From: "Stefan Seefeld" <seefeld@sympatico.ca>
To: <omniorb-list@uk.research.att.com>
Sent: Monday, February 18, 2002 6:42 PM
Subject: Re: [omniORB] gcc and multiple virtual inheritance


> zee wrote:
>
>
> > A_C_impl : public POA_A::C, PortableServer::RefCountServantBase
>
>
> this should probably read
>
> A_C_impl : public virtual POA_A::C, public
PortableServer::RefCountServantBase
>
> and may be even the RefCountServantBase should be derived virtually from.
>
>
> > The constructor code for A_C_impl generated by gcc is bad and would
> > corrupt the heap with segvs.  Both gcc-2.95.2 and gcc-3.0.2 exhibit this
> > problem.
>
>
> I'm using this (modulo the changes I just suggested) myself on a large
scale
> without problems with gcc 2.95.x, but I know that gcc 3.0.x with x at
least
> 0 had trouble with more complex inheritance relationships due to the new
ABI
> they are using. I'm not using gcc 3.0.x for my omniORB based projects...
>
> Regards,
> Stefan
>
>