This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug preprocessor/14103] [3.4/3.5 Regression] ICEs on "gcc -E -imacros foo.h baz.c"
- From: "cvs-commit at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Feb 2004 22:03:02 -0000
- Subject: [Bug preprocessor/14103] [3.4/3.5 Regression] ICEs on "gcc -E -imacros foo.h baz.c"
- References: <20040211005932.14103.lindsayd@cisco.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-02-18 22:02 -------
Subject: Bug 14103
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: bothner@gcc.gnu.org 2004-02-18 22:02:53
Modified files:
gcc : c-ppoutput.c cppfiles.c cpphash.h cpplex.c
cppmacro.c line-map.h ChangeLog
Log message:
* cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
partly reverts my 2003-10-01 change, because we're back to logically
including <command line> inside the main line.
* cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
* cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
Fixes PR preprocessor/14103.
* cppfiles.c (_cpp_stack_include): When appropriate decrement
line_table's highest_location, fixing LAST_SOURCE_LINE_LOCATION.
(cpp_push_include): Don't need to increment pfile's line field.
* line-map.h (LAST_SOURCE_LINE_LOCATION): Only decrement by 1.
* c-ppoutput.c (print struct): New first_time field.
(init_pp_output): Set print.first_time.
(pp_file_change): Use print.first_time, rather than MAIN_FILE_P,
which is set also for (say) <command line>. Clear print.first_time.
* cppfiles.c (struct _cpp_file): Comment and type for pch field
does not match the code, so fix both.
(should_stack_file): Inline include_pch_p function.
(include_pch_p): Remove pointless function.
* cpphash.h (struct cpp_buffer): Remove unused search_cached field.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-ppoutput.c.diff?cvsroot=gcc&r1=1.16&r2=1.17
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cppfiles.c.diff?cvsroot=gcc&r1=1.202&r2=1.203
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cpphash.h.diff?cvsroot=gcc&r1=1.211&r2=1.212
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cpplex.c.diff?cvsroot=gcc&r1=1.252&r2=1.253
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cppmacro.c.diff?cvsroot=gcc&r1=1.144&r2=1.145
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/line-map.h.diff?cvsroot=gcc&r1=1.20&r2=1.21
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.2830&r2=2.2831
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14103