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

pure function f()
  integer :: f
  f = 3
end function f

program test
  use test1
  implicit none
  if(len (test2()) /= 3) call abort ()
  if(test2() /= '123') call abort ()
end program test
! { dg-final { cleanup-modules "test1" } }