From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5023 invoked by alias); 19 Nov 2012 21:36:29 -0000 Received: (qmail 2637 invoked by uid 48); 19 Nov 2012 21:35:57 -0000 From: "sje at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug pch/55399] New: pch tests fail on mips-mti-linux-gnu target Date: Mon, 19 Nov 2012 21:36:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: pch X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: sje at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Message-ID: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2012-11/txt/msg01820.txt.bz2 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: unassigned@gcc.gnu.org ReportedBy: sje@gcc.gnu.org CC: joseph@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 * 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.