https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61831
--- Comment #31 from Dominique d'Humieres <dominiq at lps dot ens.fr> ---
Further reduced test
program main
implicit none
type :: string_t
character(LEN=1), dimension(:), allocatable :: chars
end type string_t
type(string_t) :: prt_in, tmp(1)
integer :: i
prt_in = string_t(["W"])
do i = 1, 16
print *, i
tmp = new_prt_spec ([prt_in])
end do
contains
elemental function new_prt_spec (name) result (prt_spec)
type(string_t), intent(in) :: name
type(string_t) :: prt_spec
end function new_prt_spec
end program main
> However, nevertheless you would want to understand why the elemental
> function causes a malloc crash for dim 1 arrays and works for scalars
> and dim > 1 arrays as input.
The faulty block is not used for scalars.