1! { dg-do run }
2! PR fortran/28276
3! Original code submitted by Harald Anlauf
4! Converted to Dejagnu for the testsuite by Steven G. Kargl
5!
6program gfcbug36
7  implicit none
8  real, parameter :: one = 1.0
9  real :: a = one
10
11  if (fraction(a) /= 0.5) STOP 1
12  if (fraction(one) /= 0.5) STOP 2
13  if (fraction(1.0) /= 0.5) STOP 3
14
15  if (exponent(a) /= 1.0) STOP 4
16  if (exponent(one) /= 1.0) STOP 5
17  if (exponent (1.0) /= 1.0) STOP 6
18
19  if (scale(fraction(a),   exponent(a))   / a   /= 1.) STOP 7
20  if (scale(fraction(one), exponent(one)) / one /= 1.) STOP 8
21  if (scale(fraction(1.0), exponent(1.0)) / 1.0 /= 1.) STOP 9
22
23end program gfcbug36
24