[Bug fortran/88304] [9 Regression] ICE in use_pointer_in_frame, at tree-nested.c:267

rguenther at suse dot de gcc-bugzilla@gcc.gnu.org
Wed Dec 5 10:06:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88304

--- Comment #12 from rguenther at suse dot de <rguenther at suse dot de> ---
On Wed, 5 Dec 2018, rguenther at suse dot de wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88304
> 
> --- Comment #11 from rguenther at suse dot de <rguenther at suse dot de> ---
> On Wed, 5 Dec 2018, jakub at gcc dot gnu.org wrote:
> 
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88304
> > 
> > --- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> > And lastly, what tree-nested.c does in cases which don't really fail is pretty
> > weird:
> > module pr88304
> >   implicit none
> > contains
> >   subroutine f1 (x)
> >     integer, intent(out) :: x
> >     x = 5
> >   end subroutine f1
> >   subroutine f2 ()
> >     integer :: x
> >     call f3
> >     if (x .ne. 5) stop 1
> >   contains
> >     subroutine f3
> >       call f1 (x)
> >     end subroutine f3
> >   end subroutine f2
> > end module pr88304
> > 
> > The original
> >   x = {CLOBBER};
> > is replaced here with:
> >   integer(kind=4) D.3863;
> > 
> >   D.3863 = {CLOBBER};
> >   CHAIN.3->x = D.3863;
> > I guess we want to drop those from the IL instead as well.
> 
> Heh, yes.  Or convert them to
> 
>     D.3863 = CHAIN.3->x;
>     *D.3863 = {CLOBBER};
> 
> but not sure if those will ever end up being useful.

Might be in case the function is inlined if we manage to turn
it back to

  x = {CLOBBER};

?


More information about the Gcc-bugs mailing list