This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug preprocessor/14103] [3.4/3.5 Regression] ICEs on "gcc -E -imacros foo.h baz.c"


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-02-11 01:17 -------
Confirmed A regression.
I think this is caused by:
2004-02-04  Per Bothner  <per@bothner.com>
        
        Partially revert/redo 2003-10-01 change; fix -fworking-directory.
        * c-ppoutput.c (pp_dir_change):  New function.
        * c-common.h (pp_dir_change):  New declaration.
        * cpplib.h (struct cpp_options):  Remove working_directory field.
        * cppinit.c (cpp_find_main_file, cpp_push_main_file):  Merge back to
        (cpp_read_main_file):  as before 10-01.  Call _cpp_stack_file.
        Don't handle -fworking_directory here, but in c_common_post_options.
        (read_original_directory): Don't back up when done.
        Don't clear no-longer used working_directory flag.
        * cpplib.h:  Update declarations to match.
        * c-lex.c (cb_dir_change):  Move to c-opts.c.
        (init_c_lex):  Don't set dir_change callback here, since we want
        to set it even if flag_preprocess_only.
        * c-opts.c (cb_dir_change):  Function moved from c-lex.c.
        (c_common_post_options):  Set dir_change callback.
        Call pp_dir_change if approporiate.
        (finish_options):  Don't call cpp_find_main_file here.  Hence remove
        unneeded parameter and result. Do LC_RENAME for <built-in>.
        (c_common_post_options):  Call cpp_read_main_file here instead.
        (c_common_init):  Update accordingly.
        (push_command_line_include):  Don't cpp_push_main_file.
        Do LC_RENAME rather than LC_LEASE to get back to main file.
        Compared to pre-10-01 version, inline cpp_rename_to_main_file.
        (c_common_parse_file):  Call cpp_read_main_file for subsequent main
        files, but call finish_options for all files.
        * c-opts.c (sanitize_cpp_opts):  Don't set cpp_opts->working_directory.
        * fix-header.c (read_scan_file):  Call cpp_read_main_file instead of
        cpp_find_main_file + cpp_push_main_file.
        * c-lex.c (fe_file_change):  Don't set main_input_filename here.
        * opts.c (handle_options):  Only set main_input_filename first time.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |per at bothner dot com
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |ice-on-valid-code
      Known to fail|                            |3.4.0 3.5.0
      Known to work|                            |3.3.3
   Last reconfirmed|0000-00-00 00:00:00         |2004-02-11 01:17:32
               date|                            |
            Summary|gcc-3.4-20040206.tar.bz2    |[3.4/3.5 Regression] ICEs on
                   |ICEs on "gcc -E -imacros    |"gcc -E -imacros foo.h
                   |foo.h baz.c"                |baz.c"
   Target Milestone|---                         |3.4.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14103


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]