aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBud Davis <bdavis9659@comcast.net>2004-06-09 00:55:04 +0000
committerBud Davis <bdavis@gcc.gnu.org>2004-06-09 00:55:04 +0000
commit31b6f11ab0530374184676979781ba81b06ae38f (patch)
tree6ee69cd51c4ece62f5cbf212485224ba89c72c04
parent0760c3805d97a3c1554d95e982d86d096952e873 (diff)
downloadgcc-31b6f11ab0530374184676979781ba81b06ae38f.zip
gcc-31b6f11ab0530374184676979781ba81b06ae38f.tar.gz
gcc-31b6f11ab0530374184676979781ba81b06ae38f.tar.bz2
re PR libfortran/15755 (gfortran: backspace call causes bus error)
2004-06-08 Bud Davis <bdavis9659@comcast.net> PR gfortran/15755 * gfortran.fortran-torture/execute/backspace.c : New test. * io/backspace.c(st_backspace): call correct routine for formatted and un-formatted units. From-SVN: r82806
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.fortran-torture/execute/backspace.f9014
-rw-r--r--libgfortran/ChangeLog6
-rw-r--r--libgfortran/io/backspace.c2
4 files changed, 26 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 175edd4..00f5518 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2004-06-09 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/15755
+ * gfortran.fortran-torture/execute/backspace.c : New test.
+
2004-06-09 Paul Brook <paul@codesourcery.com>
* gfortran.fortran-torture/execure/intrinsic_associated.f90
diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/backspace.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/backspace.f90
new file mode 100644
index 0000000..16f5523
--- /dev/null
+++ b/gcc/testsuite/gfortran.fortran-torture/execute/backspace.f90
@@ -0,0 +1,14 @@
+! pr 15755
+ implicit none
+ character*1 C
+ open(10)
+ write(10,*)'a'
+ write(10,*)'b'
+ write(10,*)'c'
+ rewind(10)
+ read(10,*)C
+ backspace(10)
+ read(10,*) C
+ if (C.ne.'b') call abort
+ close(10,STATUS='DELETE')
+ end
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index d67ee65e..ab7d376 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,9 @@
+2004-06-09 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/15755
+ * io/backspace.c(st_backspace): call correct routine for
+ formatted and un-formatted units.
+
2004-05-30 Andreas Jaeger <aj@suse.de>, Steven Bosscher <stevenb@suse.de>
PR gfortran/11800
diff --git a/libgfortran/io/backspace.c b/libgfortran/io/backspace.c
index aff4c5e..c40e506 100644
--- a/libgfortran/io/backspace.c
+++ b/libgfortran/io/backspace.c
@@ -149,7 +149,7 @@ st_backspace (void)
if (file_position (u->s) == 0)
goto done; /* Common special case */
- if (u->flags.form == FORM_UNFORMATTED)
+ if (u->flags.form == FORM_FORMATTED)
formatted_backspace ();
else
unformatted_backspace ();