re PR debug/34908 (valgrind error indication from testsuite hashtab.c : htab_hash_string)
authorLaurynas Biveinis <lauras@gcc.gnu.org>
Fri, 20 Jun 2008 13:57:00 +0000 (13:57 +0000)
committerLaurynas Biveinis <lauras@gcc.gnu.org>
Fri, 20 Jun 2008 13:57:00 +0000 (13:57 +0000)
2008-06-20  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
    Tobias Burnus  <burnus@net-b.de>

PR fortran/34908
PR fortran/36276
* scanner.c (preprocessor_line): do not call gfc_free for
current_file->filename if it differs from filename.

From-SVN: r136989

gcc/fortran/ChangeLog
gcc/fortran/scanner.c

index bc069651d5bc674a397237750bab3c6692b116d8..7c145e1222bf465bbb124eef5a0f9fbf35a6b631 100644 (file)
@@ -1,3 +1,11 @@
+2008-06-20  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+           Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/34908
+       PR fortran/36276
+       * scanner.c (preprocessor_line): do not call gfc_free for
+       current_file->filename if it differs from filename.
+
 2008-06-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * arith.c (hollerith2representation): Fix for -Wc++-compat.
        (check_init_expr): Remove tests that first argument is an array
        in the call to scalarize_intrinsic_call.
 
-2008-04-06  Tobias Schlüter  <tobi@gcc.gnu.org>
+2008-04-06  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        PR fortran/35832
        * io.c (io_tag): Add field 'value'.  Split 'spec' field in
        function, ensure that the derived type is visible in the same
        namespace as the function.
 
-2008-03-23  Tobias Schlüter  <tobi@gcc.gnu.org>
+2008-03-23  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        * trans.h: Use fold_build in build1_v, build2_v and build3_v
        macros.
        (gfc_call_realloc): Likewise.
        * trans-io.c (gfc_trans_io_runtime_check): Likewise.
 
-2008-02-24  Tobias Schlüter  <tobi@gcc.gnu.org>
+2008-02-24  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        * arith.c: Update copyright years.
        * arith.h: Likewise.
        (gfc_simplify_real): Add call gfc_clear_ts to initialize the
        temporary gfc_typspec variable.
 
-2008-02-24  Tobias Schlüter  <tobi@gcc.gnu.org>
+2008-02-24  Tobias Schlüter  <tobi@gcc.gnu.org>
 
        * trans-array.c (gfc_conv_descriptor_data_get,
        gfc_conv_descriptor_data_set_internal,
index 44e6d86bd4f669dbbfbb8ac855718ff67525ac9a..48f148d300ab3d16b2b7197019c650a96524b5ec 100644 (file)
@@ -1652,7 +1652,9 @@ preprocessor_line (gfc_char_t *c)
 
   if (strcmp (current_file->filename, filename) != 0)
     {
-      gfc_free (current_file->filename);
+       /* FIXME: we leak the old filename because a pointer to it may be stored
+          in the linemap.  Alternative could be using GC or updating linemap to
+          point to the new name, but there is no API for that currently. */
       current_file->filename = xstrdup (filename);
     }