http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55399
Bug #: 55399 Summary: pch tests fail on mips-mti-linux-gnu target Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: pch AssignedTo: unassig...@gcc.gnu.org ReportedBy: s...@gcc.gnu.org CC: jos...@codesourcery.com Starting with r192715 a large number (almost all) of the pch tests started failing on the mips-mti-linux-gnu target. I have verified that they pass using r192714. I think the problem has something to do with when/where/if pch_cpp_save_state() is called but I am not sure. I noticed that done_preinclude is an uninitialized global variable, but explicitly initializing it to false did not fix the problem. I have no idea why this would not be affecting other targets as I don't see any MIPS specific changes in this patch but I have not seen it on other targets. The patch that caused the regression is mostly in libcpp: 2012-10-23 Joseph Myers <jos...@codesourcery.com> * files.c (struct _cpp_file): Add implicit_preinclude. (pch_open_file): Allow a previously opened implicitly included file. (_cpp_find_file): Add implicit_preinclude argument. Free file and do not call open_file_failed if implicit_preinclude. Store implicit_preinclude value. (_cpp_stack_include, _cpp_fake_include, _cpp_compare_file_date): Update calls to _cpp_find_file. (_cpp_stack_include): Handle IT_DEFAULT. (cpp_push_default_include): New. * include/cpplib.h (cpp_push_default_include): Declare. * init.c (cpp_read_main_file): Update call to _cpp_find_file. * internal.h (enum include_type): Add IT_DEFAULT. (_cpp_find_file): Update prototype.