On Tue, 18 Jun 2002 21:45:42 -0400, Pierre Phaneuf <[EMAIL PROTECTED]> wrote:
> 
> What I'm saying is that once you get to gcc 3 and up, you won't need it
> anymore. In fact, using it might enable components compiled with gcc 3
> to interoperate with a Mozilla compiled with the older gcc, or the
> reverse!
> 

But I'm saying that changing the ABI and breaking all plugins/binary 
modules/etc is order for us to avoid changing the ABI and breaking all 
plugins doesn't make sense. If we're going to do this, then surely 
changing the compiler used for official releases at the same time would 
make sense?

If, at some point, gcc 4.x changes the ABI and they still support 
com_interface and it does turn out to be compatable, then we could use 
that - since its a noop for 3.x, that won't change the ABI. But lets worry 
about that when and if it actually happens.

Changing the ABI but supporting egcs/2.95 by having them use com_interface 
won't work, because of issues with multiple versions of libstdc++ floating 
arround, and that can only be fixed with gcc3.1, because of license issues 
- see bug 53486 for all the gory details.

> By the way, using a virtual destructor in a component is on the verge of
> being nuts. You better damn know what you're doing when you do that!

The usual case is a concrete class inheriting from another concrete class 
which implements an interface.

Bradley

Reply via email to