mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-12 09:44:57 +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>
|
||||
|
||||
PR preprocessor/61817
|
||||
|
@ -1048,6 +1048,9 @@ do_linemarker (cpp_reader *pfile)
|
||||
|
||||
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;
|
||||
if (MAIN_FILE_P (map)
|
||||
|| (new_file
|
||||
@ -1055,7 +1058,8 @@ do_linemarker (cpp_reader *pfile)
|
||||
&& filename_cmp (ORDINARY_MAP_FILE_NAME (from), new_file) != 0))
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user