Plugins: Add label-text.h to CPPLIB_H so it will be installed [PR115288]
[official-gcc.git] / gcc / testsuite / gfortran.dg / namelist_42.f90
blobd4a6e71912eeee6ec5f031002b59d19232993e4d
1 ! { dg-do run { target fd_truncate } }
2 ! { dg-add-options ieee }
4 ! PR fortran/34427
6 ! Check that namelists and the real values Inf, NaN, Infinity
7 ! properly coexist.
9 PROGRAM TEST
10 IMPLICIT NONE
11 real , DIMENSION(11) ::foo
12 integer :: infinity
13 NAMELIST /nl/ foo
14 NAMELIST /nl/ infinity
15 foo = -1.0
16 infinity = -1
18 open (10, status="scratch")
19 ! Works:
20 write (10,*) " &nl foo = 5, 5, 5, nan, infinity, infinity "
21 write (10,*)
22 write (10,*) " = 1, /"
23 rewind (10)
24 READ (10, NML = nl)
25 close (10)
27 if(infinity /= 1) STOP 1
28 if(any(foo(1:3) /= [5.0, 5.0, 5.0]) .or. .not.isnan(foo(4)) &
29 .or. foo(5) <= huge(foo) .or. any(foo(6:11) /= -1.0)) &
30 STOP 2
31 ! Works too:
32 foo = -1.0
33 infinity = -1
35 open (10, status="scratch")
36 rewind (10)
37 write (10,'(a)') "&nl foo = 5, 5, 5, nan, infinity, infinity"
38 write (10,'(a)') "=1,/"
39 rewind (10)
40 READ (10, NML = nl)
41 CLOSE (10)
43 if(infinity /= 1) STOP 3
44 if(any(foo(1:3) /= [5.0, 5.0, 5.0]) .or. .not.isnan(foo(4)) &
45 .or. foo(5) <= huge(foo) .or. any(foo(6:11) /= -1.0)) &
46 STOP 4
47 END PROGRAM TEST