]>
Commit | Line | Data |
---|---|---|
e054e17e | 1 | ! { dg-do run { target fd_truncate } } |
8ceabd25 | 2 | ! { dg-add-options ieee } |
b446725a TB |
3 | ! |
4 | ! PR fortran/34427 | |
5 | ! | |
6 | ! Check that namelists and the real values Inf, NaN, Infinity | |
7 | ! properly coexist. | |
8 | ! | |
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 | |
17 | ||
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, /" | |
ffeb38bc JD |
23 | rewind (10) |
24 | READ (10, NML = nl) | |
25 | close (10) | |
26 | ||
7d6ce202 | 27 | if(infinity /= 1) STOP 1 |
ffeb38bc JD |
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)) & | |
7d6ce202 | 30 | STOP 2 |
ffeb38bc JD |
31 | ! Works too: |
32 | foo = -1.0 | |
33 | infinity = -1 | |
34 | ||
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,/" | |
b446725a TB |
39 | rewind (10) |
40 | READ (10, NML = nl) | |
41 | CLOSE (10) | |
42 | ||
7d6ce202 | 43 | if(infinity /= 1) STOP 3 |
b446725a TB |
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)) & | |
7d6ce202 | 46 | STOP 4 |
b446725a | 47 | END PROGRAM TEST |