* Merge from mainline
[official-gcc.git] / gcc / testsuite / gfortran.dg / large_real_kind_form_io_2.f90
blob222e1982e1aca51e4a5a6d3e13e02f31096e5fa1
1 ! { dg-do run { xfail sparc*-sun-solaris2.* } }
2 ! { dg-require-effective-target fortran_large_real }
3 ! PR libfortran/24685
4 program large_real_kind_form_io_2
5 ! This should be 10 or 16 on systems that support kind=10 or kind=16
6 integer, parameter :: k = selected_real_kind (precision (0.0_8) + 1)
7 real(kind=k) :: a,b(2), c
8 character(len=180) :: tmp
10 b(:) = huge(0.0_k)
11 write (tmp, *) b
12 read (tmp, *) a, c
13 if (a /= b(1)) call abort ()
14 if (c /= b(2)) call abort ()
16 b(:) = -huge(0.0_k)
17 write (tmp, *) b
18 read (tmp, *) a, c
19 if (a /= b(1)) call abort ()
20 if (c /= b(2)) call abort ()
22 b(:) = tiny(0.0_k)
23 write (tmp, *) b
24 read (tmp, *) a, c
25 if (a /= b(1)) call abort ()
26 if (c /= b(2)) call abort ()
28 b(:) = -tiny(0.0_k)
29 write (tmp, *) b
30 read (tmp, *) a, c
31 if (a /= b(1)) call abort ()
32 if (c /= b(2)) call abort ()
33 end program large_real_kind_form_io_2