<div dir="ltr">No, there isn't.<div><br></div><div>I meant to add one, but I got blocked by having to fix the mangled names used under MSVC in iostream.cpp</div><div><br></div><div>/Eric</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Nov 12, 2018 at 12:49 AM Kristina Brooks via libcxx-dev <<a href="mailto:libcxx-dev@lists.llvm.org">libcxx-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I was wondering, would it be possible to add an option to disable inline namespacing completely (as a CMake<br>
configuration flag) in libc++ for the sake of being able to use shorthand mangling and without having to resort to<br>
handling it on IA64 mangler level. This has many use cases for example distributions of anything that includes libc++ as<br>
one and only libc++ and does not allow non-vendor software to be installed. On an embedded system, assuming debug info<br>
is generated, and given how common some of the debug data takes a very significant amount of space given the complex<br>
definition of something like `std::__2::basic_string<...>` versus the short form (`std::string` having a shorthand<br>
mangling is a godsend since it's 95% shorter, not an accurate figure but basically definitely above 90%).<br>
<br>
Realistically it would be cool to just have shorthand manglings for inline namespaced versions of it but that's<br>
something that has to be implemented in the mangler and is fairly distinct from mono-ABI cases where versioning is<br>
undesirable due to impossibility of collisions.<br>
<br>
I think I suggested something like that to Eric (disabling inline namespaces) though I'm not sure if there is any plans<br>
to implement that in which case I may open a Clang differential that adds the option for the mangler to strip versioned<br>
namespaces as this is simply an extremely useful option to have when shipping an entire OS with all software only being<br>
available as provided by the vendor.<br>
<br>
Thank you.<br>
- Kristina<br>
<br>
_______________________________________________<br>
libcxx-dev mailing list<br>
<a href="mailto:libcxx-dev@lists.llvm.org" target="_blank">libcxx-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-dev</a><br>
</blockquote></div>