1! { dg-do compile }
2!
3! PR fortran/45170
4! PR fortran/52158
5
6module test
7 implicit none
8 type t
9   procedure(deferred_len), pointer, nopass :: ppt
10 end type t
11contains
12 function deferred_len()
13   character(len=:), allocatable :: deferred_len
14   deferred_len = 'abc'
15 end function deferred_len
16 subroutine doIt()
17   type(t) :: x
18   character(:), allocatable :: temp
19   x%ppt => deferred_len
20   temp = deferred_len()
21   if ("abc" /= temp) STOP 1
22 end subroutine doIt
23end module test
24
25use test
26call doIt ()
27end
28