| ! { dg-do run } | |
| program strtest | |
| implicit none | |
| character(len=:), allocatable:: my_str | |
| integer, parameter :: slen_init = 7 | |
| integer :: slen = slen_init | |
| my_str = fstr(slen) | |
| if (slen /= slen_init .or. len(my_str) /= slen .or. my_str /= ' ') then | |
| STOP 1 | |
| endif | |
| contains | |
| function fstr(strlen) | |
| integer, value :: strlen | |
| character(len=strlen)::fstr | |
| strlen = 17 ! Make sure strlen was really passed by value | |
| fstr = ' ' | |
| end function fstr | |
| end program strtest |