31 lines
517 B
Fortran
31 lines
517 B
Fortran
! { dg-do run }
|
|
!
|
|
! PR 41106: [F03] Procedure Pointers with CHARACTER results
|
|
!
|
|
! Contributed by Janus Weil <janus@gcc.gnu.org>
|
|
|
|
module m
|
|
type :: t
|
|
procedure(abc), pointer, nopass :: ptr
|
|
end type
|
|
contains
|
|
function abc(i)
|
|
integer :: i
|
|
character(len=i) :: abc
|
|
abc = 'abcde'
|
|
end function abc
|
|
end module m
|
|
|
|
use m
|
|
type(t) :: x
|
|
character(len=4) :: str
|
|
x%ptr => abc
|
|
print *,x%ptr(4)
|
|
if (x%ptr(4)/='abcd') call abort
|
|
str = x%ptr(3)
|
|
if (str/='abc') call abort()
|
|
end
|
|
|
|
! { dg-final { cleanup-modules "m" } }
|
|
|