[PATCH] D50935: Add data structure to form equivalence classes of mangled names.

Kristina Brooks via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 21 20:56:57 PDT 2018


kristina added a comment.

In https://reviews.llvm.org/D50935#1206608, @rsmith wrote:

> In https://reviews.llvm.org/D50935#1205333, @kristina wrote:
>
> > It looks like a lot to maintain given that the IA64 mangler is not capable of mangling certain constructs without short circuiting to some default string
>
>
> I'm not sure what you're referring to. (The Itanium demangler in LLVM is essentially feature-complete.) Can you clarify?


Last time I looked through it which was probably over two months ago, there were some constructs it could not mangle and would just emit a fixed string in place of proper mangled name, this was back during LLVM 7.0.0 development cycle. Maybe all those cases are covered now in which case I apologize for the confusion.

In https://reviews.llvm.org/D50935#1206608, @rsmith wrote:

> Yes, supporting remapping between libc++ manglings and libstdc++ manglings is one of the primary things this is aimed at.


Ah, excellent, I'm assuming there are plans to make some sort of option for people using either v2 ABI (Fucshia authors) or unstable ABI to allow using libstdc++ reserved names in cases of single-ABI systems where the prefix isn't required and short form of `std::string` mangling can likely be exported? (not against the ABI prefix, just nice to be able to make use of those reserved mangled forms in situations where there aren't going to be versioning conflicts, though I'm not sure if that's something that needs to be addressed in libc++ or as something in the mangler)

So yeah overall, LGTM, sorry for the confusion over the former point.


Repository:
  rL LLVM

https://reviews.llvm.org/D50935





More information about the llvm-commits mailing list