]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/gfortran.dg/nan_6.f90
Remove Cell Broadband Engine SPU targets
[thirdparty/gcc.git] / gcc / testsuite / gfortran.dg / nan_6.f90
CommitLineData
83377c6a
TB
1! { dg-do run }
2! { dg-add-options ieee }
83377c6a
TB
3!
4! List-directed part of PR fortran/43298
5! and follow up to PR fortran/34319.
6!
7! Check handling of "NAN(alphanum)"
8!
9character(len=200) :: str
10real :: r
11complex :: z
12
13! read_real:
14
15r = 1.0
16str = 'INfinity' ; read(str,*) r
7d6ce202 17if (r < 0 .or. r /= r*1.1) STOP 1
83377c6a
TB
18
19r = 1.0
20str = '-INF' ; read(str,*) r
7d6ce202 21if (r > 0 .or. r /= r*1.1) STOP 2
83377c6a
TB
22
23r = 1.0
24str = '+INF' ; read(str,*) r
7d6ce202 25if (r < 0 .or. r /= r*1.1) STOP 3
83377c6a
TB
26
27r = 1.0
28str = '-inFiniTY' ; read(str,*) r
7d6ce202 29if (r > 0 .or. r /= r*1.1) STOP 4
83377c6a
TB
30
31r = 1.0
32str = 'NAN' ; read(str,*) r
7d6ce202 33if (.not. isnan(r)) STOP 5
83377c6a
TB
34
35r = 1.0
36str = '-NAN' ; read(str,*) r
7d6ce202 37if (.not. isnan(r)) STOP 6
83377c6a
TB
38
39r = 1.0
40str = '+NAN' ; read(str,*) r
7d6ce202 41if (.not. isnan(r)) STOP 7
83377c6a
TB
42
43r = 1.0
44str = 'NAN(0x111)' ; read(str,*) r
7d6ce202 45if (.not. isnan(r)) STOP 8
83377c6a
TB
46
47r = 1.0
48str = '-NAN(123)' ; read(str,*) r
7d6ce202 49if (.not. isnan(r)) STOP 9
83377c6a
TB
50
51r = 1.0
52str = '+NAN(0xFFE)' ; read(str,*) r
7d6ce202 53if (.not. isnan(r)) STOP 10
83377c6a
TB
54
55
56! parse_real
57
58z = cmplx(-2.0,-4.0)
59str = '(0.0,INfinity)' ; read(str,*) z
7d6ce202 60if (aimag(z) < 0 .or. aimag(z) /= aimag(z)*1.1) STOP 11
83377c6a
TB
61
62z = cmplx(-2.0,-4.0)
63str = '(-INF,0.0)' ; read(str,*) z
7d6ce202 64if (real(z) > 0 .or. real(z) /= real(z)*1.1) STOP 12
83377c6a
TB
65
66z = cmplx(-2.0,-4.0)
67str = '(0.0,+INF)' ; read(str,*) z
7d6ce202 68if (aimag(z) < 0 .or. aimag(z) /= aimag(z)*1.1) STOP 13
83377c6a
TB
69
70z = cmplx(-2.0,-4.0)
71str = '(-inFiniTY,0.0)' ; read(str,*) z
7d6ce202 72if (real(z) > 0 .or. real(z) /= real(z)*1.1) STOP 14
83377c6a
TB
73
74z = cmplx(-2.0,-4.0)
75str = '(NAN,0.0)' ; read(str,*) z
7d6ce202 76if (.not. isnan(real(z))) STOP 15
83377c6a
TB
77
78z = cmplx(-2.0,-4.0)
79str = '(0.0,-NAN)' ; read(str,*) z
7d6ce202 80if (.not. isnan(aimag(z))) STOP 16
83377c6a
TB
81
82z = cmplx(-2.0,-4.0)
83str = '(+NAN,0.0)' ; read(str,*) z
7d6ce202 84if (.not. isnan(real(z))) STOP 17
83377c6a
TB
85
86z = cmplx(-2.0,-4.0)
87str = '(NAN(0x111),0.0)' ; read(str,*) z
7d6ce202 88if (.not. isnan(real(z))) STOP 18
83377c6a
TB
89
90z = cmplx(-2.0,-4.0)
91str = '(0.0,-NaN(123))' ; read(str,*) z
7d6ce202 92if (.not. isnan(aimag(z))) STOP 19
83377c6a
TB
93
94z = cmplx(-2.0,-4.0)
95str = '(+nan(0xFFE),0.0)' ; read(str,*) z
7d6ce202 96if (.not. isnan(real(z))) STOP 20
83377c6a
TB
97
98end