This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Bernd Schmidt, release manager for GCC 2.95.3
- To: jbuck at racerx dot synopsys dot com
- Subject: Re: Bernd Schmidt, release manager for GCC 2.95.3
- From: Martin von Loewis <loewis at informatik dot hu-berlin dot de>
- Date: Thu, 30 Nov 2000 21:05:15 +0100 (MET)
- CC: bernds at redhat dot com, pfeifer at dbai dot tuwien dot ac dot at, gcc at gcc dot gnu dot org, jason at redhat dot com
- References: <200011301954.LAA15540@racerx.synopsys.com>
> 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