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
