From: Marcus Shawcroft Date: Tue, 27 Sep 2011 06:03:58 +0000 (+0000) Subject: tinfo.cc (type_info::operator==): Test __name instead of name(). X-Git-Tag: releases/gcc-4.7.0~3537 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=16fa5e238ac913a6713582d7d93e9289d1ac802a;p=thirdparty%2Fgcc.git tinfo.cc (type_info::operator==): Test __name instead of name(). 2011-09-27 Marcus Shawcroft * libsupc++/tinfo.cc (type_info::operator==): Test __name instead of name(). From-SVN: r179236 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 140bdb1a5b65..a1b4af02c349 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2011-09-27 Marcus Shawcroft + + * libsupc++/tinfo.cc (type_info::operator==): Test __name instead + of name(). + 2011-09-26 Paolo Carlini PR libstdc++/50529 diff --git a/libstdc++-v3/libsupc++/tinfo.cc b/libstdc++-v3/libsupc++/tinfo.cc index d939a3fdab7c..eba74dbdada5 100644 --- a/libstdc++-v3/libsupc++/tinfo.cc +++ b/libstdc++-v3/libsupc++/tinfo.cc @@ -41,8 +41,11 @@ operator== (const std::type_info& arg) const #if __GXX_MERGED_TYPEINFO_NAMES return name () == arg.name (); #else + /* The name() method will strip any leading '*' prefix. Therefore + take care to look at __name rather than name() when looking for + the "pointer" prefix. */ return (&arg == this) - || (name ()[0] != '*' && (__builtin_strcmp (name (), arg.name ()) == 0)); + || (__name[0] != '*' && (__builtin_strcmp (name (), arg.name ()) == 0)); #endif }