! { 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