(get_non_padding_token): We no longer need to compensate for the
"horrible things" the C++ front-end does with the current line number,
+ * c-lex.c (fe_file_change): Handle a NULL new_map.
+ * fix-header.c (cb_file_change): Likewise.
+ * c-ppoutput.c (pp_file_change): Likewise.
+
2003-10-01 Zack Weinberg <zack@codesourcery.com>
* target.h (init_libfuncs): New hook.
if (flag_no_line_commands || flag_no_output)
return;
- /* First time? */
- if (print.map == NULL)
+ if (map != NULL)
{
- /* Avoid printing foo.i when the main file is foo.c. */
- if (!cpp_get_options (parse_in)->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);
-
- if (map->reason == LC_ENTER)
- flags = " 1";
- else if (map->reason == LC_LEAVE)
- flags = " 2";
- print_line (map, map->from_line, flags);
+ /* First time? */
+ if (print.map == NULL)
+ {
+ /* Avoid printing foo.i when the main file is foo.c. */
+ if (!cpp_get_options (parse_in)->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);
+
+ if (map->reason == LC_ENTER)
+ flags = " 1";
+ else if (map->reason == LC_LEAVE)
+ flags = " 2";
+ print_line (map, map->from_line, flags);
+ }
}
print.map = map;
const struct line_map *map)
{
/* Just keep track of current file name. */
- cur_file = map->to_file;
+ cur_file = map == NULL ? NULL : map->to_file;
}
static void