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