[libcxx-dev] Non-merged type info name comparison

Nico Weber via libcxx-dev libcxx-dev at lists.llvm.org
Wed Sep 25 12:19:06 PDT 2019


On Wed, Sep 25, 2019 at 12:11 PM Louis Dionne via libcxx-dev <
libcxx-dev at lists.llvm.org> wrote:

>
>
> On Sep 23, 2019, at 15:15, Shoaib Meenai via libcxx-dev <
> libcxx-dev at lists.llvm.org> wrote:
>
> Ah, sorry – my apologies.
>
> *From: *Marshall Clow <mclow.lists at gmail.com>
> *Date: *Monday, September 23, 2019 at 12:14 PM
> *To: *Shoaib Meenai <smeenai at fb.com>
> *Cc: *"libcxx-dev at lists.llvm.org" <libcxx-dev at lists.llvm.org>
> *Subject: *Re: [libcxx-dev] Non-merged type info name comparison
>
> On Mon, Sep 23, 2019 at 12:02 PM Shoaib Meenai via libcxx-dev <
> libcxx-dev at lists.llvm.org> wrote:
>
> In https://reviews.llvm.org/rL361913
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__reviews.llvm.org_rL361913&d=DwMFaQ&c=5VD0RTtNlTh3ycd41b3MUw&r=o3kDXzdBUE3ljQXKeTWOMw&m=zXNo5HfpEBs2AeK5MYbybBHSXRWS2rfFR2LYPo1zuhA&s=5In-WOhspL-mxLcgsafyIl0_G_S9IkKnfaj3lVT6y44&e=>,
> libc++ gained the option to make type info comparisons use a strcmp on the
> type info name, which is useful for when we can’t guarantee RTTI
> uniqueness. I believe libstdc++ also defaults to strcmp comparisons.
> However, libstdc++ doesn’t perform the string comparison when the type info
> name begins with the * character [1], which is the case for e.g. types
> defined in anonymous namespaces. Should libc++’s implementation be changed
> to match, at least when targeting Linux?
>
> Actually, in what cases can we guarantee that RTTI has been fully
> duplicated? For example, I don't think anything prevents users from using a
> shared library that redefines the RTTI for a type, no?
>

Do you mean deduplicated?

If so, then in binaries that have everything (including libc++) statically
linked, this is guaranteed.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libcxx-dev/attachments/20190925/d509f58b/attachment.html>


More information about the libcxx-dev mailing list