summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/intrinsic_3.f90
blob: fcd40e94bbb229844394601dcbed6c621ea3d362 (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
32
33
34
35
36
37
38
39
40
! { dg-do compile }
! { dg-options "-std=f95" }
!
! PR 39876: module procedure name that collides with the GNU intrinsic
!
! Contributed by Alexei Matveev <alexei.matveev+gcc@gmail.com>

module p                           
  implicit none                                                                 

  contains

    subroutine test()
      implicit none
      print *, avg(erfc)
    end subroutine test

    function avg(f)
      implicit none
      double precision :: avg
      interface
        double precision function f(x)
          implicit none
          double precision, intent(in) :: x
        end function f
      end interface
      avg = ( f(1.0D0) + f(2.0D0) ) / 2
    end function avg

    function erfc(x)
      implicit none
      double precision, intent(in) :: x
      double precision             :: erfc
      erfc = x
    end function erfc

end module p

! { dg-final { cleanup-modules "p" } }