1! { dg-do run } 2! 3! PR fortran/56138 4! 5! Contributed by Dominique d'Humieres and John Chludzinski, 6! using the code of John Reid 7! 8implicit none 9interface 10PURE FUNCTION s_to_c(string) 11 CHARACTER(LEN=*),INTENT(IN) :: string 12 CHARACTER(LEN=:),ALLOCATABLE :: s_to_c 13ENDFUNCTION s_to_c 14end interface 15CHARACTER(LEN=:),ALLOCATABLE :: str 16if (s_to_c("ABCdef") /= "ABCdef" .or. len(s_to_c("ABCdef")) /= 6) call abort() 17str = s_to_c("ABCdef") 18if (str /= "ABCdef" .or. len(str) /= 6) call abort() 19str(1:3) = s_to_c("123") 20if (str /= "123def" .or. len(str) /= 6) call abort() 21 22end 23 24PURE FUNCTION s_to_c(string) 25 CHARACTER(LEN=*),INTENT(IN) :: string 26 CHARACTER(LEN=:),ALLOCATABLE :: s_to_c 27 s_to_c = string 28END FUNCTION s_to_c 29