summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/PR19872.f
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/PR19872.f')
-rw-r--r--gcc/testsuite/gfortran.dg/PR19872.f20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/PR19872.f b/gcc/testsuite/gfortran.dg/PR19872.f
new file mode 100644
index 000000000..edc743b2e
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/PR19872.f
@@ -0,0 +1,20 @@
+! { dg-do run { target fd_truncate } }
+! PR 19872 - closed and re-opened file not overwriten
+ implicit none
+ integer i(4)
+ data i / 4 * 0 /
+ open(1,form='FORMATTED',status='UNKNOWN')
+ write(1,'("1 2 3 4 5 6 7 8 9")')
+ close(1)
+ open(1,form='FORMATTED')
+ write(1,'("9 8 7 6")')
+ close(1)
+ open(1,form='FORMATTED')
+ read(1,*)i
+ if(i(1).ne.9.or.i(2).ne.8.or.i(3).ne.7.or.i(4).ne.6)call abort
+ read(1,*, end=200)i
+! should only be able to read one line from the file
+ call abort
+ 200 continue
+ close(1,STATUS='delete')
+ end