aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <Thomas.Koenig@online.de>2005-01-23 02:18:33 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2005-01-23 02:18:33 +0000
commit0e69bba9fc926fd529f51aa9e7f585c27b88c1e3 (patch)
treecd9cbaee37fb9b2e5ac2977b499c8db30a3c44d1 /gcc
parentc2d8571d9189c836d8757d2e62c700f0b7f101cb (diff)
downloadgcc-0e69bba9fc926fd529f51aa9e7f585c27b88c1e3.zip
gcc-0e69bba9fc926fd529f51aa9e7f585c27b88c1e3.tar.gz
gcc-0e69bba9fc926fd529f51aa9e7f585c27b88c1e3.tar.bz2
re PR libfortran/19451 (Read after a write with a read only file)
2005-01-22 Thomas Koenig <Thomas.Koenig@online.de> PR libfortran/19451 * io/transfer.c (finalize_transfer): Don't do anything if there is an error condition. * open_readonly_1.f90: New test. From-SVN: r94101
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/open_readonly_1.f9014
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index b39fb69..f63c8db 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
+ PR libfortran/19451
+ * open_readonly_1.f90: New test.
+
+2005-01-22 Thomas Koenig <Thomas.Koenig@online.de>
+
PR libfortran/18982
* gfortran.dg/open_new.f90: New file.
diff --git a/gcc/testsuite/gfortran.dg/open_readonly_1.f90 b/gcc/testsuite/gfortran.dg/open_readonly_1.f90
new file mode 100644
index 0000000..622a07d
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/open_readonly_1.f90
@@ -0,0 +1,14 @@
+! { dg-do run }
+! PR19451
+! Writing to a non-empty readonly file caused a segfault.
+! We were still trying to write the EOR after an error ocurred
+program prog
+ open (unit=10, file='PR19451.dat')
+ write (10,*) "Hello World"
+ close (10)
+ open (unit=10, file='PR19451.dat', action="read")
+ write (10,*,err=20) "Hello World"
+ call abort()
+ 20 continue
+end program
+