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