1 ! Related to PR 15326. Try calling string functions whose lengths depend
2 ! on a dummy procedure.
4 integer pure function double (x)
5 integer, intent (in) :: x
13 integer pure function double (x)
14 integer, intent (in) :: x
18 call test (f1 (double, 100), 200)
19 call test (f2 (double, 70), 140)
21 call indirect (double)
26 integer pure function fn (x)
27 integer, intent (in) :: x
30 character (len = fn (i)) :: f1
36 character (len = fn (i)) :: f2
40 subroutine indirect (fn)
42 integer pure function fn (x)
43 integer, intent (in) :: x
46 call test (f1 (fn, 100), 200)
47 call test (f2 (fn, 70), 140)
48 end subroutine indirect
50 subroutine test (string, length)
51 character (len = *) :: string
52 integer, intent (in) :: length
53 if (len (string) .ne. length) call abort