summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/f2003_io_1.f03
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/f2003_io_1.f03')
-rw-r--r--gcc/testsuite/gfortran.dg/f2003_io_1.f0337
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/f2003_io_1.f03 b/gcc/testsuite/gfortran.dg/f2003_io_1.f03
new file mode 100644
index 000000000..f1d67c5aa
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/f2003_io_1.f03
@@ -0,0 +1,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