aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBud Davis <bdavis9659@comcast.net>2004-08-13 22:01:02 +0000
committerBud Davis <bdavis@gcc.gnu.org>2004-08-13 22:01:02 +0000
commit1ef02b9de5bc2b05d07e2fa15d5f62b7fa6ddfdd (patch)
treef16680ad8887abba783940203a549b51238df08b
parent3e0d5ae260453974cd6f114665c8336c644b04f9 (diff)
downloadgcc-1ef02b9de5bc2b05d07e2fa15d5f62b7fa6ddfdd.zip
gcc-1ef02b9de5bc2b05d07e2fa15d5f62b7fa6ddfdd.tar.gz
gcc-1ef02b9de5bc2b05d07e2fa15d5f62b7fa6ddfdd.tar.bz2
re PR libfortran/16935 (Segmentation fault of compiler with unsupported control items in OPEN)
2004-08-13 Bud Davis <bdavis9659@comcast.net> PR gfortran/13965 * gfortran.fortran-torture/execute/open_rewind.f90: New test. * io/open.c (st_open): use flags instead of the unit structure. From-SVN: r85966
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gfortran.dg/pr16935.f907
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/io/open.c4
4 files changed, 18 insertions, 2 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ad54193..c3cafd2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2004-08-13 Bud Davis <bdavis9659@comcast.net>
+
+ * gfortran.fortran-torture/execute/open_rewind.f90: New test.
+
2004-08-13 Janis Johnson <janis187@us.ibm.com>
* g++.dg/ext/altivec-2.C: Revert previous changes and don't execute.
diff --git a/gcc/testsuite/gfortran.dg/pr16935.f90 b/gcc/testsuite/gfortran.dg/pr16935.f90
new file mode 100644
index 0000000..63f5400
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr16935.f90
@@ -0,0 +1,7 @@
+! { dg-do run }
+! pr16935
+! segfault at run time on open statement
+ program bug2
+ implicit none
+ open( 1 , file = "str_500.txt", position = "REWIND" )
+ end
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index c6f1a8d..e622e31 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2004-08-13 Bud Davis <bdavis9659@comcast.net>
+
+ PR gfortran/13965
+ * io/open.c (st_open): use flags instead of the unit structure.
+
2004-08-10 Victor Leikehman <lei@il.ibm.com>
* io/list_read.c (namelist_read): Convert variable names
diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c
index cd70622..f88bdec 100644
--- a/libgfortran/io/open.c
+++ b/libgfortran/io/open.c
@@ -506,8 +506,8 @@ st_open (void)
if (ioparm.unit < 0)
generate_error (ERROR_BAD_OPTION, "Bad unit number in OPEN statement");
- if (flags.position != POSITION_UNSPECIFIED &&
- u->flags.access == ACCESS_DIRECT)
+ if (flags.position != POSITION_UNSPECIFIED
+ && flags.access == ACCESS_DIRECT)
generate_error (ERROR_BAD_OPTION,
"Cannot use POSITION with direct access files");