snapshot 20010514: compression of mangled name

Daniel Berlin dan@cgsoftware.com
Tue May 22 17:42:00 GMT 2001


Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de> writes:

> For the function in the input file
> 
>   struct foo {};
>   void bar (void (foo::*)(int) const, void (foo::*)(int)) {}
> 
> G++ snapshot 20010514 uses the mangled name
> 
>   _Z3barMK3fooFviEMS_FviE
> 
> I think this should be
> 
>   _Z3barMK3fooFviEMS_S1_

Err, the first would demangle to:
bar(void (foo const::*)(int), void (foo::*)(int))
The second, to
bar(void (foo const::*)(int), void ()(int) foo::*)

Unless i'm on crack.

Nope. The demangler agrees with me, so unless we are both wrong, they
ain't the same.

Besides, the title implies you are trying to make the name smaller,
yet you've only saved 1 byte here.

> 
> instead.
> 
> --
>   Eberhard Mattes

-- 
"I'd like to sing you a song now about my old girlfriend.  It's
called, "They'll Find Her When the Leaves Blow Away 'Cause I'm
Not Raking 'Til Spring."
"-Steven Wright



More information about the Gcc-bugs mailing list