http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56461
--- Comment #35 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-03-06 16:18:51 UTC --- Author: jakub Date: Wed Mar 6 16:18:40 2013 New Revision: 196497 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196497 Log: PR middle-end/56461 * internal.h (struct cpp_buffer): Add to_free field. (_cpp_pop_file_buffer): Add third argument. * files.c (_cpp_stack_file): Set buffer->to_free. (_cpp_pop_file_buffer): Add to_free argument. Free to_free if non-NULL, and if equal to file->buffer_start, also clear file->buffer{,_start,_valid}. * directives.c (_cpp_pop_buffer): Pass buffer->to_free to _cpp_pop_file_buffer. Modified: trunk/libcpp/ChangeLog trunk/libcpp/directives.c trunk/libcpp/files.c trunk/libcpp/internal.h