https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88684

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Given that the GCC default is
#ifndef __GXX_MERGED_TYPEINFO_NAMES
// By default, typeinfo names are not merged.
#define __GXX_MERGED_TYPEINFO_NAMES 0
#endif
we should use strcmp on Linux too.
Note, what libsanitizer does doesn't match what typeinfo does, which is:
      return ((__name == __arg.__name)
              || (__name[0] != '*' &&
                  __builtin_strcmp (__name, __arg.__name) == 0));
for equality and
    { return (__name[0] == '*' && __arg.__name[0] == '*')
        ? __name < __arg.__name
        : __builtin_strcmp (__name, __arg.__name) < 0; }
for before.

Reply via email to