! { 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