summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/pr92537.f90
blob: 50dd026c2ec64e58bef40d120fdb0309207701e0 (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
! { dg-do compile }
! { dg-options "-O2 -ftree-vectorize -fno-inline" }
! { dg-additional-options "-march=skylake" { target x86_64-*-* i?86-*-* } }
MODULE pr93527
  implicit none
  integer, parameter :: wp = kind (1.d0)
  interface p_min
     module procedure p_min_wp
  end interface
contains
  subroutine foo (pr)
    real(wp), pointer     :: pr(:)
    integer  ::  nzd
    real(wp) ::  pmin
    real(wp) ::  pmin_diag
    integer  ::  i
    nzd  = 15
    allocate (pr(nzd))
    pmin_diag = 4000._wp
    pmin = p_min(pmin_diag)
    pmin = min (pmin,pmin_diag)
    pr(1) = log(pmin)
    do i=1,nzd-1
       pr(i+1) = log(pmin) + i
    end do
  end subroutine foo
  function p_min_wp (x) result (p_min)
    real(wp), intent(in) :: x
    real(wp)             :: p_min
    p_min = x
  end function p_min_wp
end module pr93527