37 lines
824 B
Fortran
37 lines
824 B
Fortran
! { dg-do compile }
|
|
! PR 18883: Fake result variables of non-constant length, with ENTRY
|
|
function s_to_c(chars)
|
|
character, pointer :: chars(:)
|
|
character(len=len(chars)) :: s_to_c, s_to_c_2
|
|
s_to_c = 'a'
|
|
return
|
|
entry s_to_c_2(chars)
|
|
s_to_c_2 = 'b'
|
|
return
|
|
end function s_to_c
|
|
|
|
program huj
|
|
|
|
implicit none
|
|
interface
|
|
function s_to_c(chars)
|
|
character, pointer :: chars(:)
|
|
character(len=len(chars)) :: s_to_c
|
|
end function s_to_c
|
|
|
|
function s_to_c_2(chars)
|
|
character, pointer :: chars(:)
|
|
character(len=len(chars)) :: s_to_c_2
|
|
end function s_to_c_2
|
|
end interface
|
|
|
|
character, pointer :: c(:)
|
|
character(3) :: s
|
|
|
|
allocate(c(5))
|
|
c = (/"a", "b", "c" /)
|
|
s = s_to_c(c)
|
|
s = s_to_c_2(c)
|
|
|
|
end program huj
|