mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-26 19:34:24 +08:00
re PR preprocessor/69650 (ICE in linemap_line_start, at libcpp/line-map.c:803)
Patch from Roger Orr <rogero@howzatt.demon.co.uk> PR preprocessor/69650 * directives.c (do_linemarker): Reread map after calling cpp_get_token. From-SVN: r234932
This commit is contained in:
parent
abdb7e1568
commit
12de224542
@ -1,3 +1,10 @@
|
|||||||
|
2016-04-13 Bernd Schmidt <bschmidt@redhat.com>
|
||||||
|
|
||||||
|
Patch from Roger Orr <rogero@howzatt.demon.co.uk>
|
||||||
|
PR preprocessor/69650
|
||||||
|
* directives.c (do_linemarker): Reread map after calling
|
||||||
|
cpp_get_token.
|
||||||
|
|
||||||
2016-04-06 Richard Henderson <rth@redhat.com>
|
2016-04-06 Richard Henderson <rth@redhat.com>
|
||||||
|
|
||||||
PR preprocessor/61817
|
PR preprocessor/61817
|
||||||
|
@ -1048,6 +1048,9 @@ do_linemarker (cpp_reader *pfile)
|
|||||||
|
|
||||||
if (reason == LC_LEAVE)
|
if (reason == LC_LEAVE)
|
||||||
{
|
{
|
||||||
|
/* Reread map since cpp_get_token can invalidate it with a
|
||||||
|
reallocation. */
|
||||||
|
map = LINEMAPS_LAST_ORDINARY_MAP (line_table);
|
||||||
const line_map_ordinary *from;
|
const line_map_ordinary *from;
|
||||||
if (MAIN_FILE_P (map)
|
if (MAIN_FILE_P (map)
|
||||||
|| (new_file
|
|| (new_file
|
||||||
@ -1055,7 +1058,8 @@ do_linemarker (cpp_reader *pfile)
|
|||||||
&& filename_cmp (ORDINARY_MAP_FILE_NAME (from), new_file) != 0))
|
&& filename_cmp (ORDINARY_MAP_FILE_NAME (from), new_file) != 0))
|
||||||
{
|
{
|
||||||
cpp_warning (pfile, CPP_W_NONE,
|
cpp_warning (pfile, CPP_W_NONE,
|
||||||
"file \"%s\" linemarker ignored due to incorrect nesting", new_file);
|
"file \"%s\" linemarker ignored due to "
|
||||||
|
"incorrect nesting", new_file);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user