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.

Reply via email to