1! { dg-do run }
2! Tests the fix for PR32047, in which the null agument
3! function for the character length would cause an ICE.
4!
5! Contributed by Tobias Burnus <burnus@gcc.gnu.org >
6!
7module test1
8  implicit none
9contains
10  character(f()) function test2() result(r)
11    interface
12      pure function f()
13        integer f
14      end function f
15    end interface
16    r = '123'
17  end function test2
18end module test1
19
20pure function f()
21  integer :: f
22  f = 3
23end function f
24
25program test
26  use test1
27  implicit none
28  if(len (test2()) /= 3) STOP 1
29  if(test2() /= '123') STOP 2
30end program test
31