aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/scanner.c
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>2007-09-22 23:48:02 +0000
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2007-09-22 23:48:02 +0000
commitee07457bee548ae2e7e5919c260066238f40345c (patch)
treef7150e7c3fc9d5b73002928ba55948db4f0f38d7 /gcc/fortran/scanner.c
parentb6efedac9d83347ef9ba707d404b7edc4c81349f (diff)
downloadgcc-ee07457bee548ae2e7e5919c260066238f40345c.zip
gcc-ee07457bee548ae2e7e5919c260066238f40345c.tar.gz
gcc-ee07457bee548ae2e7e5919c260066238f40345c.tar.bz2
re PR fortran/33528 (Wrong locations emitted with mapped locations and included files)
PR fortran/33528 * scanner.c (preprocessor_line): Call linemap_add when exiting a file. (gfc_new_file): Adjust debug code for USE_MAPPED_LOCATION. From-SVN: r128676
Diffstat (limited to 'gcc/fortran/scanner.c')
-rw-r--r--gcc/fortran/scanner.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/scanner.c b/gcc/fortran/scanner.c
index ef2bbcd9..1db4542 100644
--- a/gcc/fortran/scanner.c
+++ b/gcc/fortran/scanner.c
@@ -1341,7 +1341,12 @@ preprocessor_line (char *c)
gfc_free (filename);
return;
}
+
current_file = current_file->up;
+#ifdef USE_MAPPED_LOCATION
+ linemap_add (line_table, LC_RENAME, false, current_file->filename,
+ current_file->line);
+#endif
}
/* The name of the file can be a temporary file produced by
@@ -1620,10 +1625,12 @@ gfc_new_file (void)
#if 0 /* Debugging aid. */
for (; line_head; line_head = line_head->next)
- gfc_status ("%s:%3d %s\n", line_head->file->filename,
+ gfc_status ("%s:%3d %s\n",
#ifdef USE_MAPPED_LOCATION
+ LOCATION_FILE (line_head->location),
LOCATION_LINE (line_head->location),
#else
+ line_head->file->filename,
line_head->linenum,
#endif
line_head->line);