From 296b5ce9f7ecc09fb7e1223a6bb4227fa1c16497 Mon Sep 17 00:00:00 2001 From: lauras Date: Fri, 20 Jun 2008 13:57:00 +0000 Subject: [PATCH] 2008-06-20 Laurynas Biveinis Tobias Burnus 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 | 16 ++++++++++++---- gcc/fortran/scanner.c | 4 +++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index bc069651..7c145e1 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,11 @@ +2008-06-20 Laurynas Biveinis + Tobias Burnus + + 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 * arith.c (hollerith2representation): Fix for -Wc++-compat. @@ -1139,7 +1147,7 @@ (check_init_expr): Remove tests that first argument is an array in the call to scalarize_intrinsic_call. -2008-04-06 Tobias Schlüter +2008-04-06 Tobias Schlüter PR fortran/35832 * io.c (io_tag): Add field 'value'. Split 'spec' field in @@ -1298,7 +1306,7 @@ function, ensure that the derived type is visible in the same namespace as the function. -2008-03-23 Tobias Schlüter +2008-03-23 Tobias Schlüter * trans.h: Use fold_build in build1_v, build2_v and build3_v macros. @@ -1496,7 +1504,7 @@ (gfc_call_realloc): Likewise. * trans-io.c (gfc_trans_io_runtime_check): Likewise. -2008-02-24 Tobias Schlüter +2008-02-24 Tobias Schlüter * arith.c: Update copyright years. * arith.h: Likewise. @@ -1560,7 +1568,7 @@ (gfc_simplify_real): Add call gfc_clear_ts to initialize the temporary gfc_typspec variable. -2008-02-24 Tobias Schlüter +2008-02-24 Tobias Schlüter * trans-array.c (gfc_conv_descriptor_data_get, gfc_conv_descriptor_data_set_internal, diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index 44e6d86..48f148d 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -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); } -- 2.7.4