2008-06-20 Laurynas Biveinis <laurynas.biveinis@gmail.com>
authorlauras <lauras@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Jun 2008 13:57:00 +0000 (13:57 +0000)
committerlauras <lauras@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Jun 2008 13:57:00 +0000 (13:57 +0000)
    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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@136989 138bc75d-0d04-0410-961f-82ee72b054a4

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

index bc06965..7c145e1 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 44e6d86..48f148d 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);
     }