Bernd Schmidt, release manager for GCC 2.95.3
Martin von Loewis
loewis@informatik.hu-berlin.de
Thu Nov 30 12:05:00 GMT 2000
> I seem to recall that some name was getting mangled differently
> (perhaps of a vtable in a multiply inherited class?) There was a
> link compatibility problem.
No. No name is mangled differently under this patch. For each
constructor, an *additional* symbol is generated. More correctly, for
the constructor, a new name is generated, which also has a different
calling convention. In addition, the old name is generated which has
the old calling convention and delegates to the new name. That
delegation is not feasible for varargs constructors.
> Sorry, I misspoke/miswrote. I know that the iostream class works
> correctly, because as you say virtual functions aren't called in the
> constructor. What I meant to say was that the symbols for such classes
> come out differently with (at least an early version of) your patch.
> Right?
Exactly.
Martin
More information about the Gcc
mailing list