OSDN Git Service

* doc/invoke.texi: Document -ftree-loop-distribution.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / nan_3.f90
1 ! { dg-do run }
2 ! { dg-options "-fno-range-check" }
3 ! { dg-options "-fno-range-check -mieee" { target sh*-*-* } }
4 !
5 ! PR fortran/34319
6 !
7 ! Check support of INF/NaN for I/O.
8 !
9 program main
10   implicit none
11   real :: r
12   complex :: z
13   character(len=30) :: str
14
15   str = "nan"
16   read(str,*) r
17   if (.not.isnan(r)) call abort()
18   str = "(nan,4.0)"
19   read(str,*) z
20   if (.not.isnan(real(z)) .or. aimag(z) /= 4.0) call abort()
21   str = "(7.0,nan)"
22   read(str,*) z
23   if (.not.isnan(aimag(z)) .or. real(z) /= 7.0) call abort()
24
25   str = "inFinity"
26   read(str,*) r
27   if (r <= huge(r)) call abort()
28   str = "(+inFinity,4.0)"
29   read(str,*) z
30   if ((real(z) <= huge(r)) .or. aimag(z) /= 4.0) call abort()
31   str = "(7.0,-inFinity)"
32   read(str,*) z
33   if ((aimag(z) >= -huge(r)) .or. real(z) /= 7.0) call abort()
34
35   str = "inf"
36   read(str,*) r
37   if (r <= huge(r)) call abort()
38   str = "(+inf,4.0)"
39   read(str,*) z
40   if ((real(z) <= huge(r)) .or. aimag(z) /= 4.0) call abort()
41   str = "(7.0,-inf)"
42   read(str,*) z
43   if ((aimag(z) >= -huge(r)) .or. real(z) /= 7.0) call abort()
44
45 end program main