2 !{ dg-options "-fno-range-check" }
3 !{ dg-add-options ieee }
4 !{ dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
5 ! PR19310 and PR19904, allow disabling range check during compile.
6 ! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
9 real, parameter :: zero=0, nan=0/zero
10 complex :: z = (-0.1,-2.2)/(0.0,0.0)
11 complex :: z2 = (0.1,1)/0
12 complex :: z3 = (1e35, -2e3)/1.234e-37
13 complex :: z4 = (1e-35, -2e-35)/1234e34
19 if (trim(adjustl(str)) .ne. '+Infinity') call abort
21 if (b .ne. 0.) call abort
24 if (trim(adjustl(str)) .ne. '-Infinity') call abort
27 if (trim(adjustl(str)) .ne. 'NaN') call abort
30 if (trim(adjustl(str)) .ne. 'NaN') call abort
32 write(str,*) 1.0/(-0.)
33 if (trim(adjustl(str)) .ne. '-Infinity') call abort
36 if (trim(adjustl(str)) .ne. '-Infinity') call abort
39 if (trim(adjustl(str)) .ne. '+Infinity') call abort
42 if (trim(adjustl(str)) .ne. 'NaN') call abort
45 if (trim(adjustl(str)) .ne. '( NaN, NaN)') call abort
48 if (trim(adjustl(str)) .ne. '( NaN, NaN)') call abort
51 if (trim(adjustl(str)) .ne. '( +Infinity, -Infinity)') call abort
54 if (trim(adjustl(str)) .ne. '( 0.0000000 , -0.0000000 )') call abort