This is the mail archive of the
mailing list for the GCC project.
Re: New name mangling in g++
On Mon, Jan 29, 2001 at 05:51:55PM +0100, Jakub Jelinek wrote:
> const is part of the interface, it is encoded with the K.
> I believe this is a bug in mangle.c because:
> $ c++filt -s gnu-new-abi _ZN1M5mixedERK4struS0_RS0_S0_S2_S0_S3_S0_
> M::mixed(const stru&, M::mixed, M::mixed&, M::mixed, const stru, M::mixed, const stru&, M::mixed)
> I believe it should be mangled as
> , am just looking into mangle.c to see what's going on.
??? I get
M::mixed(stru const&, stru, stru&, stru, stru const&, stru, stru&, stru)
The backreference names start with S_, not S0_. In this case
S1_ stru const
S2_ stru const &
so I think the correct encoding is
(S3_ == RS0_ == stru &)
This is just what you have with 1 subtracted from each digit...