summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/overwrite_1.f
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/overwrite_1.f')
-rw-r--r--gcc/testsuite/gfortran.dg/overwrite_1.f20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/overwrite_1.f b/gcc/testsuite/gfortran.dg/overwrite_1.f
new file mode 100644
index 000000000..f6c5fdbd9
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/overwrite_1.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.and.i(2).ne.8.and.i(3).ne.7.and.i(4).ne.9)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