]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libfortran/24112 (Reopening file with STATUS='OLD' doesn't work)
authorJanne Blomqvist <jblomqvi@cc.hut.fi>
Fri, 30 Sep 2005 18:47:54 +0000 (21:47 +0300)
committerTobias Schlüter <tobi@gcc.gnu.org>
Fri, 30 Sep 2005 18:47:54 +0000 (20:47 +0200)
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

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/open_status_1.f90 [new file with mode: 0644]
libgfortran/ChangeLog
libgfortran/io/open.c

index 97ac0baeb1509c4ac12669c2cd98a24aabd8e6ca..65f595791006ef9224c157f19efbb96a6d985d3c 100644 (file)
@@ -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 (file)
index 0000000..df44a44
--- /dev/null
@@ -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
index fa76b5ef03976c69dcd5328e3666efd0516e50ed..07b2e913c7cb0d4fd0e8f8e0b29e74a237a7389d 100644 (file)
@@ -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
index 82d5a355e0d19d5546565856a042123c27a670c7..e1e42ad937031e1fb13c0a6278f5c773acf16f55 100644 (file)
@@ -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");