aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanne Blomqvist <jblomqvi@cc.hut.fi>2005-09-30 21:47:54 +0300
committerTobias Schlüter <tobi@gcc.gnu.org>2005-09-30 20:47:54 +0200
commit21905d1b4319b962f26f87d57e8fa4f00f0aeedb (patch)
tree49646f39944d33cfef8f86c09e2141a3106a4783
parent3f27846b1cd3f04086f6666bc271cd0345817329 (diff)
downloadgcc-21905d1b4319b962f26f87d57e8fa4f00f0aeedb.zip
gcc-21905d1b4319b962f26f87d57e8fa4f00f0aeedb.tar.gz
gcc-21905d1b4319b962f26f87d57e8fa4f00f0aeedb.tar.bz2
re PR libfortran/24112 (Reopening file with STATUS='OLD' doesn't work)
2005-09-30 Janne Blomqvist <jblomqvi@cc.hut.fi> libgfortran/ PR 24112 * io/open.c (edit_modes): Check for correct flag. gcc/testsuite/ PR 24112 * gfortran.dg/open_status_1.f90: New. From-SVN: r104829
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/open_status_1.f908
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/io/open.c2
4 files changed, 19 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 97ac0ba..65f5957 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-30 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ PR 24112
+ * gfortran.dg/open_status_1.f90: New.
+
2005-09-30 Uros Bizjak <uros@kss-loka.si>
* gcc.dg/vect/fast-math-vect-reduc-7.c: Clean up temp files.
diff --git a/gcc/testsuite/gfortran.dg/open_status_1.f90 b/gcc/testsuite/gfortran.dg/open_status_1.f90
new file mode 100644
index 0000000..df44a44
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/open_status_1.f90
@@ -0,0 +1,8 @@
+! { dg-do run }
+! Test reopening with io status='old'
+program iostatus
+ open (1, file='foo', status='replace') ! Make sure file exists.
+ open (1, file='foo', status='old')
+ open (1, file='foo', status='old')
+ close (1, status='delete')
+end program iostatus
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index fa76b5e..07b2e91 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-30 Janne Blomqvist <jblomqvi@cc.hut.fi>
+
+ PR 24112
+ * io/open.c (edit_modes): Check for correct flag.
+
2005-09-29 Jakub Jelinek <jakub@redhat.com>
* runtime/string.c (find_option): Change 3rd argument to
diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c
index 82d5a35..e1e42ad 100644
--- a/libgfortran/io/open.c
+++ b/libgfortran/io/open.c
@@ -120,7 +120,7 @@ edit_modes (gfc_unit * u, unit_flags * flags)
/* Complain about attempts to change the unchangeable. */
if (flags->status != STATUS_UNSPECIFIED &&
- u->flags.status != flags->position)
+ u->flags.status != flags->status)
generate_error (ERROR_BAD_OPTION,
"Cannot change STATUS parameter in OPEN statement");