1! { dg-do compile } 2! Tests the fix for PR36526, in which the call to getStrLen would 3! generate an error due to the use of a wrong symbol in interface.c 4! 5! Contributed by Bálint Aradi <aradi@bccms.uni-bremen.de> 6! 7module TestPure 8 implicit none 9 10 type T1 11 character(10) :: str 12 end type T1 13 14contains 15 16 pure function getT1Len(self) result(t1len) 17 type(T1), pointer :: self 18 integer :: t1len 19 20 t1len = getStrLen(self%str) 21 22 end function getT1Len 23 24 25 pure function getStrLen(str) result(length) 26 character(*), intent(in) :: str 27 integer :: length 28 29 length = len_trim(str) 30 31 end function getStrLen 32 33end module TestPure 34 35 36program Test 37 use TestPure 38 implicit none 39 40 type(T1), pointer :: pT1 41 42 allocate(pT1) 43 pT1%str = "test" 44 write (*,*) getT1Len(pT1) 45 deallocate(pT1) 46 47end program Test 48