diff options
Diffstat (limited to 'gcc/cppmain.c')
-rw-r--r-- | gcc/cppmain.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/gcc/cppmain.c b/gcc/cppmain.c index b116615..b710dad 100644 --- a/gcc/cppmain.c +++ b/gcc/cppmain.c @@ -399,11 +399,17 @@ cb_file_change (pfile, map) cpp_reader *pfile ATTRIBUTE_UNUSED; const struct line_map *map; { - /* Not first time? */ - if (print.map) - { - const char *flags = ""; + const char *flags = ""; + /* First time? */ + if (print.map == NULL) + { + /* Avoid printing foo.i when the main file is foo.c. */ + if (!options->preprocessed) + print_line (map, map->from_line, flags); + } + else + { /* Bring current file to correct line when entering a new file. */ if (map->reason == LC_ENTER) maybe_print_line (map - 1, map->from_line - 1); @@ -412,7 +418,6 @@ cb_file_change (pfile, map) flags = " 1"; else if (map->reason == LC_LEAVE) flags = " 2"; - print_line (map, map->from_line, flags); } |