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

José Rui Faustino de Sousa <jrfsousa at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jrfsousa at gmail dot com

--- Comment #8 from José Rui Faustino de Sousa <jrfsousa at gmail dot com> ---
Hi all!

Still ICEs using -fcheck=bounds

Due to the bounds check the symbol gets added to the deferrdd symbols list
(tlink) and then gfc_trans_deferred_vars calls gfc_check_pdt_dummy and an
infinite loop is created due to the recursion into the PDT components in
structure_alloc_comps.

This seems to be enough to reproduce:

subroutine push_8 (self)

  type link(mat_len)
    integer, len :: mat_len
    type (link(:)), allocatable :: next
  end type link

  type (link(:)), allocatable :: self

  integer :: i

  i = self%mat_len
  print *, i

end subroutine push_8

Thank you very much.

Best regards,
José Rui

Reply via email to