diff options
author | Laurynas Biveinis <lauras@gcc.gnu.org> | 2008-06-20 13:57:00 +0000 |
---|---|---|
committer | Laurynas Biveinis <lauras@gcc.gnu.org> | 2008-06-20 13:57:00 +0000 |
commit | 952137502b559919c0cf1c6087ac7d4f3ba3a32c (patch) | |
tree | 8b6748605686a37cf70f38d09d876a05711abeb6 /gcc/fortran/scanner.c | |
parent | a055f99f15139fb20de4d19434402954a3a22651 (diff) | |
download | gcc-952137502b559919c0cf1c6087ac7d4f3ba3a32c.zip gcc-952137502b559919c0cf1c6087ac7d4f3ba3a32c.tar.gz gcc-952137502b559919c0cf1c6087ac7d4f3ba3a32c.tar.bz2 |
re PR debug/34908 (valgrind error indication from testsuite hashtab.c : htab_hash_string)
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
Diffstat (limited to 'gcc/fortran/scanner.c')
-rw-r--r-- | gcc/fortran/scanner.c | 4 |
1 files changed, 3 insertions, 1 deletions
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); } |