blob: c683a6c51f9bfe7294aa25d71a115151cdcc1c68 [file] [log] [blame]
! { dg-do compile }
! Tests the fix for PR36526, in which the call to getStrLen would
! generate an error due to the use of a wrong symbol in interface.c
!
! Contributed by Bรกlint Aradi <aradi@bccms.uni-bremen.de>
!
module TestPure
implicit none
type T1
character(10) :: str
end type T1
contains
pure function getT1Len(self) result(t1len)
type(T1), pointer :: self
integer :: t1len
t1len = getStrLen(self%str)
end function getT1Len
pure function getStrLen(str) result(length)
character(*), intent(in) :: str
integer :: length
length = len_trim(str)
end function getStrLen
end module TestPure
program Test
use TestPure
implicit none
type(T1), pointer :: pT1
allocate(pT1)
pT1%str = "test"
write (*,*) getT1Len(pT1)
deallocate(pT1)
end program Test