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