https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69650
--- Comment #6 from Manuel López-Ibáñez <manu at gcc dot gnu.org> --- Note that it is ok to completely ignore such an invalid line directive and: line-map.c: file "<stdin>" left but not entered should actually be an error or an ICE. As the code says: /* Depending upon whether we are handling preprocessed input or not, this can be a user error or an ICE. */ if (error) fprintf (stderr, "line-map.c: file \"%s\" left but not entered\n", to_file); The problem is that nobody so far has done the work of adding diagnostics/ICE reporting support to line-maps.c, so that the above can be a proper ICE or diagnostic (perhaps the error should be reported by the caller, who presumably knows whether this comes from preprocessed input?). There is also: /* Depending upon whether we are handling preprocessed input or not, this can be a user error or an ICE. */ for (map = LINEMAPS_LAST_ORDINARY_MAP (set); ! MAIN_FILE_P (map); map = INCLUDED_FROM (set, map)) fprintf (stderr, "line-map.c: file \"%s\" entered but not left\n", ORDINARY_MAP_FILE_NAME (map));