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.

Reply via email to