<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Sun, Nov 11, 2018 at 9:49 PM 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></blockquote><div><br></div><div>I'm confused here.</div><div>Why are you comparing `std::string` to `std::__2::basic_string<......" ?<br></div><div><br></div><div>`std::__2::string` is quite short.<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/libcxx-dev" rel="noreferrer" target="_blank"></a><br>
</div><div><br></div><div>-- Marshall</div><div><br></div></div></div>