[cfe-dev] [libc++abi] Why is cxa_demangle.h a public header?

Matthew Dempsky matthew at dempsky.org
Fri Jun 7 20:15:07 PDT 2013


What's the point of having libcxxabi/include/cxa_demangle.h?
Everything in __cxxabiv1::__libcxxabi's visibility is limited to
hidden anyway, so it's only usable within libc++abi (and maybe
libc++), but nothing else makes use of it currently.

Also, it seems to bloat libc++abi a lot, at least on OpenBSD.  If I
move the declarations from cxa_demangle.h into cxa_demangle.cpp and
than change the __libcxxabi namespace into an anonymous namespace, it
cuts libc++.so (statically linked against libc++abi) from 1655653
bytes of text to just 1292112 bytes.



More information about the cfe-dev mailing list