3 ! "(str)" (= an expression) was regarded as "str" (= a variable)
4 ! and thus when yy was deallocated so was xx. Result: An invalid
9 character (len
=10), allocatable
:: str(:)
12 if (size(str
) /= 1 .or
. str(1) /= "dog") call abort()
15 character (len
=*), intent(in
) :: xx(:)
16 character (len
=*), intent(out
), allocatable
:: yy(:)
17 allocate (yy(size(xx
)))