This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: enable-build-with-cxx bootstrap compare broken by r149964
- From: Jerry Quinn <jlquinn at optonline dot net>
- To: Jason Merrill <jason at redhat dot com>
- Cc: GCC <gcc at gcc dot gnu dot org>
- Date: Tue, 22 Sep 2009 07:04:34 -0400
- Subject: Re: enable-build-with-cxx bootstrap compare broken by r149964
- References: <1250345548.19163.155.camel@cerberus.qb5.org> <4A960A78.8040704@redhat.com> <1251694626.7629.2.camel@cerberus.qb5.org> <4AAE6745.3070706@redhat.com> <4AB7B28E.7030501@redhat.com>
On Mon, 2009-09-21 at 13:06 -0400, Jason Merrill wrote:
> On 09/14/2009 11:54 AM, Jason Merrill wrote:
> > I think the way to go with this is to revert the compiler bits of
> > r149964, not mess with mangle.c at all, and insert the initial * if the
> > typeinfo name won't have TREE_PUBLIC set, since that's precisely the
> > property we want to mirror in comparison.
>
> Thoughts? Another concern I have is that adding an initial * breaks
> simple demangling of type_info::name(), so I'd like to find another way
> of marking it for pointer comparison.
What if we have type_info::name() be smart? I.e.
const char* name() { return name[0] == '*' ? name + 1 : name; }
Then the * can still be a flag indicating compare by pointer.
Jerry