c-lex.c (fe_file_change): Handle a NULL new_map.

* 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.

From-SVN: r72011
This commit is contained in:
Per Bothner 2003-10-02 07:03:42 +00:00 committed by Per Bothner
parent efef2a5f2a
commit f4b2bde73f
4 changed files with 30 additions and 17 deletions

View File

@ -5,6 +5,10 @@
(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.

View File

@ -212,6 +212,12 @@ cb_dir_change (cpp_reader *pfile ATTRIBUTE_UNUSED, const char *dir)
void
fe_file_change (const struct line_map *new_map)
{
if (new_map == NULL)
{
map = NULL;
return;
}
if (new_map->reason == LC_ENTER)
{
/* Don't stack the main buffer on the input stack;

View File

@ -346,24 +346,27 @@ pp_file_change (const struct line_map *map)
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);
/* 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);
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;

View File

@ -578,7 +578,7 @@ cb_file_change (cpp_reader *pfile ATTRIBUTE_UNUSED,
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