From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carlo Wood To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org Subject: Re: c++/3211: Incorrect, substitution related mangling. Date: Sun, 17 Jun 2001 17:36:00 -0000 Message-id: <20010618003601.5205.qmail@sourceware.cygnus.com> X-SW-Source: 2001-06/msg00721.html List-Id: The following reply was made to PR c++/3211; it has been noted by GNATS. From: Carlo Wood To: gcc-bugs@gcc.gnu.org Cc: gcc-gnats@gcc.gnu.org Subject: Re: c++/3211: Incorrect, substitution related mangling. Date: Mon, 18 Jun 2001 02:31:05 +0200 On Sun, Jun 17, 2001 at 06:59:39PM +0200, Carlo Wood wrote: > Please note that even: > > -------------------- > #include > #include > > struct A { > int member(void) { } > }; > > template > struct const_test { > typedef int (member_type)(void); > member_type (T::*member_pointer); > }; > > int main(void) > { > std::cout << typeid(const_test::member_pointer).name() << '\n'; > return 0; > } > -------------------- > > Returns "MK1AFivE", where "1A" is and "FivE" is . There is no > 'const' qualifier for "1A". Hmmpf. Ok, that was nonsense... There *is* a 'K' there... But it doesn't change the fact that there can only be a 'K' when is a (member) function. I don't think this changes the relevance of my argument that "K1A" shouldn't be a candidate for substitution, nor should a substitution be used at that place for "K1A" is one such substitution already exists. -- Carlo Wood