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
16if (any(b.ne.23.45)) STOP 1
17
18c = 3.14
19write(msg, *, decimal="comma") c
20if (msg(1:7).ne."   3,14") STOP 2
21
22b = 0.0
23rewind(10)
24write(10,'(10f8.3)', asynchronous="yes", decimal="point") a
25rewind(10)
26read(10,'(10f8.3)', asynchronous="yes", decimal="point") b
27if (any(b.ne.23.45)) STOP 3
28
29wait(unit=10, err=25, iostat=istat, iomsg=msg, end=35, id=j)
30
31! do some stuff with a
3225 continue
33
3435 continue
35
36close(10, status="delete")
37end
38