This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Patch, fortran, committed] PR 62215 Unlink old module file before renaming


Hi,

per the discussion in the PR, committed the attached patch to trunk
and 4.9, which fixes a regression I introduced when implementing the
zlib compressed module files stuff:


Index: ChangeLog
===================================================================
--- ChangeLog   (revision 214738)
+++ ChangeLog   (working copy)
@@ -1,3 +1,9 @@
+2014-08-29  Jeffrey Armstrong  <jeffrey.armstrong@approximatrix.com>
+
+       PR fortran/62215
+       * module.c (gfc_dump_module): Unlink old module file before
+       renaming new one.
+
 2014-08-26  Thomas Koenig  <tkoenig@gcc.gnu.org>

        * frontend_passes (expr_array):  Replace by vec template.
Index: module.c
===================================================================
--- module.c    (revision 214738)
+++ module.c    (working copy)
@@ -6040,6 +6040,9 @@ gfc_dump_module (const char *name, int d
       || crc_old != crc)
     {
       /* Module file have changed, replace the old one.  */
+      if (unlink (filename) && errno != ENOENT)
+       gfc_fatal_error ("Can't delete module file '%s': %s", filename,
+                        xstrerror (errno));
       if (rename (filename_tmp, filename))
        gfc_fatal_error ("Can't rename module file '%s' to '%s': %s",
                         filename_tmp, filename, xstrerror (errno));

-- 
Janne Blomqvist


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]