This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: lno-branch vs ptr-to-member
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Andrew Pinski <pinskia at physics dot uc dot edu>
- Cc: Dale Johannesen <dalej at apple dot com>,Sebastian Pop <sebastian dot pop at cri dot ensmp dot fr>,gcc_mailing_list List <gcc at gcc dot gnu dot org>
- Date: Wed, 9 Jun 2004 02:25:43 +0200
- Subject: Re: lno-branch vs ptr-to-member
- References: <DDAE13BA-B985-11D8-ABF4-000A95D7CD40@apple.com> <200406082232.i58MWXH27630@tin.geop.uc.edu>
Hello,
> > >> I'm not familiar enough with ptr-to-member to figure out what it ought
> > >> to be doing,
> > >> but this isn't it.
> > >
> > > neither do I. From what you describe it seems that chrec_convert
> > > decides that it does not know anything special to do with the
> > > conversion (which
> > > is OK) and just passes it to convert (which seems OK to me), which
> > > probably
> > > should be able to handle it somehow (the other possibility being that
> > > the gimplified code is wrong).
> >
> > OK, I guess we need help from the experts in those areas to tell which
> > of these is true. I'll try working around it by not trying to do this
> > particular
> > conversion, but I tend to agree that's not the right fix.
> >
> > This is PR 15881.
>
> Calling convert from the middle-end is asking for troubles.
interesting; we do it moreorless everwhere (dom, sra, ccp, ...).
> One it creates non-gimple,
Why should this be a problem (as long as you know about it)?
> two it prints out error message which is bad for the middle.
Yes, this seems worse.
> I posted a patch to change all of the convert to fold_convert in tree-scalar-evolution.c
> at <http://gcc.gnu.org/ml/gcc-patches/2004-06/msg00460.html>.
Feel free to install the patch. Thanks.
Zdenek
> This fixes
> this error as I had changed fold_convert to treat OFFSET_TYPE to be just like
> POINTER_TYPE, see <http://gcc.gnu.org/ml/gcc-patches/2004-06/msg00458.html>.
>
> Thanks,
> Andrew Pinski