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