https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69298
--- Comment #6 from janus at gcc dot gnu.org ---
Here is a further reduced test case, based on Dominique's variant in comment
#2, which (I think) runs into the same runtime-segfault when calling
stuff_1d_finaliser ...
module stuff_mod
implicit none
type :: stuff_type
integer :: junk
contains
final :: stuff_1d_finaliser
end type
contains
subroutine stuff_1d_finaliser( this )
type(stuff_type), intent(inout) :: this(:)
integer :: i
write( 6, '("Finalising stuff_type array")', advance='no' )
do i = lbound( this, 1 ), ubound( this, 1 )
write(6, '(" ", I0)', advance='no' ) this(i)%junk
end do
write( 6, '()' )
end subroutine
end module stuff_mod
program test
use stuff_mod
implicit none
integer, parameter :: n = 2
type test_type
type(stuff_type) :: things(n)
end type
call sub()
contains
subroutine sub()
type(test_type) :: tt
integer :: i
write( 6, '("Initialising")' )
do i = 1, n
tt%things(i) = stuff_type( i )
end do
write( 6, '("Done")' )
end subroutine
end