------- Additional Comments From fxcoudert at gcc dot gnu dot org  2005-09-09 
16:00 -------
It's just that we should call library_end() before returning in st_close:

Index: libgfortran/io/close.c
===================================================================
RCS file: /cvs/gcc/gcc/libgfortran/io/close.c,v
retrieving revision 1.8
diff -p -u -r1.8 close.c
--- libgfortran/io/close.c      27 Aug 2005 16:01:54 -0000      1.8
+++ libgfortran/io/close.c      9 Sep 2005 15:59:16 -0000
@@ -64,7 +64,10 @@ st_close (void)
                 "Bad STATUS parameter in CLOSE statement");
 
   if (ioparm.library_return != LIBRARY_OK)
+  {
+    library_end ();
     return;
+  }
 
   u = find_unit (ioparm.unit);
   if (u != NULL)


No time to regtest this, but if someone want to test & commit as obvious, he can
gladly take credit for this genial patch :)

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fxcoudert at gcc dot gnu dot
                   |                            |org
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |patch
   Last reconfirmed|0000-00-00 00:00:00         |2005-09-09 16:00:35
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23784

Reply via email to