https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51976
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> --- subroutine foo () type dt character(len=:), allocatable :: o character(len=:), allocatable :: n(:) end type type (dt) :: d logical :: l integer :: n n = 4 allocate(character(len=n+1) :: d%o) allocate(character(len=n+2) :: d%n(4)) end seems to ICE during gimplification (there is 0 = 4; stmt in *.original), and the length of d%n allocation is weird too. subroutine bar () character(len=:), allocatable :: o, o2 character(len=:), allocatable :: n(:), n2(:) allocate(character(len=4) :: o, n(10)) o2 = o n2 = n end ICEs too.