1! { dg-do run { target fd_truncate } }
2! { dg-options "-std=gnu" }
3! Test case prepared by Jerry DeLisle  <jvdelisle@gcc.gnu.org>
4real :: a(4), b(4)
5real :: c
6integer :: istat, j
7character(25) :: msg
8
9a = 23.45
10b = 0.0
11open(10, file='mydata_f2003_io_1', asynchronous="yes", blank="null")
12
13write(10,'(10f8.3)', asynchronous="yes", decimal="comma", id=j) a
14rewind(10)
15read(10,'(10f8.3)', asynchronous="yes", decimal="comma", blank="zero") b
16wait(10)
17if (any(b.ne.23.45)) STOP 1
18
19c = 3.14
20write(msg, *, decimal="comma") c
21if (msg(1:7).ne."   3,14") STOP 2
22
23b = 0.0
24rewind(10)
25write(10,'(10f8.3)', asynchronous="yes", decimal="point") a
26rewind(10)
27read(10,'(10f8.3)', asynchronous="yes", decimal="point") b
28wait (10)
29if (any(b.ne.23.45)) STOP 3
30
31wait(unit=10, err=25, iostat=istat, iomsg=msg, end=35, id=j)
32
33! do some stuff with a
3425 continue
35
3635 continue
37
38close(10, status="delete")
39end
40