summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/result_in_spec_2.f90
blob: 82105b98c2cedafc9fcaf03ff07fd436c0b369bc (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
! { 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) STOP 1
  if(test2() /= '123') STOP 2
end program test