10 character(len
=:), allocatable
:: s1
11 character(len
=:), pointer :: s2
12 character(len
=5), target
:: fifeC
= 'FIVEC'
14 if (len(s1
) /= 5) call abort()
15 if (s1
/= "ZZZZZ") call abort()
17 if (len(s2
) /= 5) call abort()
18 if (s2
/= "FIVEC") call abort()
19 s1
= addPrefix(subfunc())
20 if (len(s1
) /= 7) call abort()
21 if (s1
/= "..FIVEC") call abort()
24 character(len
=:), allocatable
:: str
27 if (len(str
) /= 5) call abort()
28 if (str
/= "ZZZZZ") call abort()
30 function subfunc() result(res
)
31 character(len
=:), pointer :: res
33 if (len(res
) /= 5) call abort()
34 if (res
/= "FIVEC") call abort()
36 function addPrefix(str
) result(res
)
37 character(len
=:), pointer :: str
38 character(len
=:), allocatable
:: res
40 end function addPrefix
44 character(len
=:),allocatable
:: s
47 if (len(repeat(' ',j
)) /= 2) call abort()
48 if (repeat('y',j
) /= "yy") call abort()
49 if (len(s
) /= 2) call abort()
50 if (s
/= "xx") call abort()