Longest mangled name in "real" code.

Martin von Loewis loewis at informatik.hu-berlin.de
Thu Mar 16 22:13:45 UTC 2000


> This isn't exactly real code, but this test produces the
> longest mangled name I've seen.  But there's lots of duplication.

Coleen,

Thanks for the code. When passing this code to g++, it produced
exactly one large symbol: the constructor call for mapofamap. I tried
to come up with a mangling for the type; as a constructor, it would
only have an additional _ZD1 prefix, right?

Anyway, here are my results:

cxxc_bugs5514.cxx - original source
g++old        - current g++ mangling                   - 8163 bytes
g++squangling - new compressing 'squangling' mechanism -  266 bytes
abitype       - ABI conforming mangling of this type   -  162 bytes
fulltype      - demangled version of the type (no spaces)
genmap.py     - generator used to produce the mangling

I haven't had a chance to check this with some other compiler, if you
do, please let me know how they perform. Compared to g++, it seems
this does significantly better.

Please note that the generator is as experimental as the demangler, so
it may be incorrect. If you find errors in it, please le me know.

Regards,
Martin

-------------- next part --------------
A non-text attachment was scrubbed...
Name: abimangling.tgz
Type: application/octet-stream
Size: 4011 bytes
Desc: not available
URL: <http://sourcerytools.com/pipermail/cxx-abi-dev/attachments/20000316/c9a19cb8/attachment.obj>


More information about the cxx-abi-dev mailing list