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 /libgfortran | |
parent | 3445a80c36be4dfe90ec92c61d766f71bd9eed73 (diff) | |
download | gcc-82498ed4b96badc4fc2ccd9889657b628320877c.tar.gz |
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
Diffstat (limited to 'libgfortran')
-rw-r--r-- | libgfortran/ChangeLog | 7 | ||||
-rw-r--r-- | libgfortran/io/open.c | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 32b5454827b..edc23af6ce9 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 3d0e5bebe7a..82a862b7c47 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); |