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
|
! { dg-do run { target fd_truncate } }
! { dg-options "-std=gnu" }
! Test case prepared by Jerry DeLisle <jvdelisle@gcc.gnu.org>
real :: a(4), b(4)
real :: c
integer :: istat, j
character(25) :: msg
a = 23.45
b = 0.0
open(10, file='mydata', asynchronous="yes", blank="null")
write(10,'(10f8.3)', asynchronous="yes", decimal="comma", id=j) a
rewind(10)
read(10,'(10f8.3)', asynchronous="yes", decimal="comma", blank="zero") b
if (any(b.ne.23.45)) call abort
c = 3.14
write(msg, *, decimal="comma") c
if (msg(1:7).ne." 3,14") call abort
b = 0.0
rewind(10)
write(10,'(10f8.3)', asynchronous="yes", decimal="point") a
rewind(10)
read(10,'(10f8.3)', asynchronous="yes", decimal="point") b
if (any(b.ne.23.45)) call abort
wait(unit=10, err=25, iostat=istat, iomsg=msg, end=35, id=j)
! do some stuff with a
25 continue
35 continue
close(10, status="delete")
end
|