From: Jason Merrill Date: Mon, 12 Oct 1998 20:08:54 +0000 (+0000) Subject: * tinfo.cc (operator==): Always compare names. X-Git-Tag: prereleases/libgcj-0.1~2569 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1873d7691dca88915ff70753e2e40367711950e1;p=thirdparty%2Fgcc.git * tinfo.cc (operator==): Always compare names. From-SVN: r23034 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ed33ae2d4d29..9ce944fdaa80 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +1998-10-12 Jason Merrill + + * tinfo.cc (operator==): Always compare names. + 1998-10-12 Herman ten Brugge * decl.c (start_function): Fix cut-and-paste error. diff --git a/gcc/cp/tinfo.cc b/gcc/cp/tinfo.cc index 2096a512a23d..6de805524e07 100644 --- a/gcc/cp/tinfo.cc +++ b/gcc/cp/tinfo.cc @@ -39,22 +39,12 @@ std::type_info:: ~type_info () { } -#ifndef __COMMON_UNRELIABLE +// We can't rely on common symbols being shared between shared objects. bool type_info:: operator== (const type_info& arg) const { - return &arg == this; + return (&arg == this) || (fast_compare (name (), arg.name ()) == 0); } -#else -// We can't rely on common symbols being shared between translation units -// under Windows. Sigh. - -bool type_info:: -operator== (const type_info& arg) const -{ - return fast_compare (name (), arg.name ()) == 0; -} -#endif extern "C" void __rtti_class (void *addr, const char *name,