1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
! { dg-do run { target fd_truncate } }
! PR17286
! Namelist read failed when spaces exist between the '=' and the numbers
! This is a libgfortran bug
! Derived from testcase provided by Paul Thomas <paulthomas2@wanadoo.fr>
program bug3
integer num1 , num2 , num3 , num4
data num3 / 42 /
data num4 / 56 /
namelist /mynml1/ num1,num2
namelist /mynml2/ num3,num4
logical dbg
data dbg / .FALSE. /
open(unit=10,status='SCRATCH')
write(10,'(A)') "&mynml1,num1= 16,num2=32,&end"
!
! write mynml2
!
write(10,mynml2)
rewind(10)
!
! now read back
!
num1 = -1
num2 = -1
read(10,mynml1)
if (num1.eq.16.and.num2.eq.32) then
if (dbg) write(*,mynml1)
else
if (dbg) print *, 'expected 16 32 got ',num1,num2
call abort
endif
num3 = -1
num4 = -1
read(10,mynml2)
if (num3.eq.42.and.num4.eq.56) then
if (dbg) write(*,mynml2)
else
if (dbg) print *, 'expected 42 56 got ',num3,num4
call abort
endif
close(10)
end
|