PR fortran/29383
[official-gcc.git] / gcc / testsuite / gfortran.dg / ieee / ieee_7.f90
bloba66e9057bec7635796578351f92ab4a54c95c3d8
1 ! { dg-do run }
3 use :: ieee_arithmetic
4 implicit none
6 ! Test IEEE_SELECTED_REAL_KIND in specification expressions
8 integer(kind=ieee_selected_real_kind()) :: i1
9 integer(kind=ieee_selected_real_kind(10)) :: i2
10 integer(kind=ieee_selected_real_kind(10,10)) :: i3
11 integer(kind=ieee_selected_real_kind(10,10,2)) :: i4
13 ! Test IEEE_SELECTED_REAL_KIND
15 if (ieee_support_datatype(0.)) then
16 if (ieee_selected_real_kind() /= kind(0.)) call abort
17 if (ieee_selected_real_kind(0) /= kind(0.)) call abort
18 if (ieee_selected_real_kind(0,0) /= kind(0.)) call abort
19 if (ieee_selected_real_kind(0,0,2) /= kind(0.)) call abort
20 end if
22 if (ieee_support_datatype(0.d0)) then
23 if (ieee_selected_real_kind(precision(0.)+1) /= kind(0.d0)) call abort
24 if (ieee_selected_real_kind(precision(0.),range(0.)+1) /= kind(0.d0)) call abort
25 if (ieee_selected_real_kind(precision(0.)+1,range(0.)+1) /= kind(0.d0)) call abort
26 if (ieee_selected_real_kind(precision(0.)+1,range(0.)+1,2) /= kind(0.d0)) call abort
27 end if
29 if (ieee_selected_real_kind(0,0,3) /= -5) call abort
30 if (ieee_selected_real_kind(precision(0.d0)+1) /= -1) call abort
31 if (ieee_selected_real_kind(0,range(0.d0)+1) /= -2) call abort
32 if (ieee_selected_real_kind(precision(0.d0)+1,range(0.d0)+1) /= -3) call abort
34 end