directives.c (do_line): Save sysp early before line table is realloc'ed.

* directives.c (do_line): Save sysp early before line table is
       realloc'ed.

From-SVN: r95691
This commit is contained in:
Devang Patel 2005-02-28 11:04:19 -08:00 committed by Devang Patel
parent 321cf1f25e
commit 2203a88104
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2005-02-28 Devang Patel <dpatel@apple.com>
* directives.c (do_line): Save sysp early before line table is
realloc'ed.
2005-02-20 Zack Weinberg <zack@codesourcery.com>
PR 18785

View File

@ -775,6 +775,11 @@ do_line (cpp_reader *pfile)
{
const struct line_maps *line_table = pfile->line_table;
const struct line_map *map = &line_table->maps[line_table->used - 1];
/* skip_rest_of_line() may cause line table to be realloc()ed so note down
sysp right now. */
unsigned char map_sysp = map->sysp;
const cpp_token *token;
const char *new_file = map->to_file;
unsigned long new_lineno;
@ -815,7 +820,7 @@ do_line (cpp_reader *pfile)
skip_rest_of_line (pfile);
_cpp_do_file_change (pfile, LC_RENAME, new_file, new_lineno,
map->sysp);
map_sysp);
}
/* Interpret the # 44 "file" [flags] notation, which has slightly