diff options
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/scanner.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index b94feb9..3735dc6 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2018-05-07 Jeff Law <law@redhat.comg> + + * scanner.c (preprocessor_line): Call linemap_add after a line + directive that changes the current filename. + 2018-05-06 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/85507 diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c index aab5379..55d6daf 100644 --- a/gcc/fortran/scanner.c +++ b/gcc/fortran/scanner.c @@ -2107,6 +2107,10 @@ preprocessor_line (gfc_char_t *c) 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); + + /* We need to tell the linemap API that the filename changed. Just + changing current_file is insufficient. */ + linemap_add (line_table, LC_RENAME, false, current_file->filename, line); } /* Set new line number. */ |