On Tue, Apr 12, 2016 at 01:50:19PM +0200, Bernd Schmidt wrote: > PR preprocessor/69650 > * directives.c (do_linemarker): Reread map after calling > cpp_get_token.
Ok, thanks. > --- libcpp/directives.c (revision 234831) > +++ libcpp/directives.c (working copy) > @@ -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; > } > } Jakub