summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/bessel_2.f90
blob: 3b4c2e2e4ee67e26866129f257992e6dfbc8501f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
! { dg-do compile }
! PR fortran/36117
!
! This program will fail for MPFR < 2.3.0
!
! Based on a test by James Van Buskirk.
!
program bug3
   implicit none
   real, parameter :: Qarg1 = 1.7
   integer, parameter :: k2 = kind(BESJ0(Qarg1))
   integer, parameter :: is_int = 1-1/(2+0*BESJ0(Qarg1))*2
   integer, parameter :: kind_if_real = &
      (1-is_int)*k2+is_int*kind(1.0)
   complex :: z = cmplx(0,1,kind_if_real) ! FAILS
   if (kind_if_real /= kind(Qarg1)) call abort ()
end program bug3