diff options
author | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2005-03-29 08:37:32 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2005-03-29 08:37:32 +0000 |
commit | 82498ed4b96badc4fc2ccd9889657b628320877c (patch) | |
tree | fc392638f57c476781c2ab631e8a4d1b41398da1 | |
parent | 3445a80c36be4dfe90ec92c61d766f71bd9eed73 (diff) | |
download | gcc-82498ed4b96badc4fc2ccd9889657b628320877c.zip gcc-82498ed4b96badc4fc2ccd9889657b628320877c.tar.gz gcc-82498ed4b96badc4fc2ccd9889657b628320877c.tar.bz2 |
re PR libfortran/20163 ([4.0 only] gfortran - error opening direct access file)
PR libfortran/20163
* io/open.c (st_open): call library_end() before returning even if
an error arises.
* gfortran.dg/pr20163-2.f: New test.
From-SVN: r97153
-rw-r--r-- | gcc/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr20163-2.f | 5 | ||||
-rw-r--r-- | libgfortran/ChangeLog | 7 | ||||
-rw-r--r-- | libgfortran/io/open.c | 3 |
4 files changed, 20 insertions, 5 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 81ab1de..73aa6eb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,14 +1,14 @@ +2005-03-28 Steve Ellcey <sje@cup.hp.com> + + PR target/19890 + * gcc.dg/20020219-1.c: Skip on IA64 HP-UX in ILP32 mode. + 2005-03-29 Dale Ranta <dir@lanl.gov> Francois-Xavier Coudert <coudert@clipper.ens.fr> PR libfortran/20163 * gfortran.dg/pr20163-2.f: New test. -2005-03-28 Steve Ellcey <sje@cup.hp.com> - - PR target/19890 - * gcc.dg/20020219-1.c: Skip on IA64 HP-UX in ILP32 mode. - 2005-03-28 Jan Hubicka <jh@suse.cz> PR middle-end/20635 diff --git a/gcc/testsuite/gfortran.dg/pr20163-2.f b/gcc/testsuite/gfortran.dg/pr20163-2.f new file mode 100644 index 0000000..c0b2573 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr20163-2.f @@ -0,0 +1,5 @@ + open(10,status="foo",err=100) + call abort + 100 continue + open(10,status="scratch") + end diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 32b5454..edc23af 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,10 @@ +2005-03-29 Dale Ranta <dir@lanl.gov> + Francois-Xavier Coudert <coudert@clipper.ens.fr> + + PR libfortran/20163 + * io/open.c (st_open): call library_end() before returning even if + an error arises. + 2005-03-25 Francois-Xavier Coudert <coudert@clipper.ens.fr> PR libfortran/19678 diff --git a/libgfortran/io/open.c b/libgfortran/io/open.c index 3d0e5be..82a862b 100644 --- a/libgfortran/io/open.c +++ b/libgfortran/io/open.c @@ -481,7 +481,10 @@ st_open (void) flags.position = POSITION_ASIS; if (ioparm.library_return != LIBRARY_OK) + { + library_end (); return; + } u = find_unit (ioparm.unit); |