Mangling change between gcc 3.0 and gcc 3.1
Matt Austern
austern@apple.com
Wed Nov 6 16:53:00 GMT 2002
Consider the following code:
struct s;
void x (void (s::*)() const) {}
With gcc 3.0, we get the mangled name _Z1xMK1sFvvE,
which the 3.0 version of c++filt knows how to
demangle. With 3.1 through 3.3 we get the mangled
name _Z1xM1sKFvvE, which the 3.1 and 3.2 versions
of c++filt do not know how to demangle.
Obviously this is a bug in 3.1 or 3.2: either the
compiler or the demangler is wrong. The question
I don't know: which is it?
(Yes, I could just look up the ABI document and
figure it out myself, but I'm hoping someone here
just happens to know the issue already.)
--Matt
More information about the Gcc
mailing list