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)))