]> gcc.gnu.org Git - gcc.git/commit - libcpp/macro.c
re PR preprocessor/14103 (ICEs on "gcc -E -imacros foo.h baz.c")
authorPer Bothner <per@bothner.com>
Wed, 18 Feb 2004 22:02:39 +0000 (14:02 -0800)
committerPer Bothner <bothner@gcc.gnu.org>
Wed, 18 Feb 2004 22:02:39 +0000 (14:02 -0800)
commit22234f56d2395ae470961d3eb5fdc65a7597af9a
treee807c23671fa4dd53228ec168fcfa7e99628f896
parent5a6d9a81c7415f0efb61a18f5bd4890286a1c003
re PR preprocessor/14103 (ICEs on "gcc -E -imacros foo.h baz.c")

* 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.

From-SVN: r78049
gcc/ChangeLog
gcc/c-ppoutput.c
gcc/cppfiles.c
gcc/cpphash.h
gcc/cpplex.c
gcc/cppmacro.c
gcc/line-map.h
This page took 1.405519 seconds and 5 git commands to generate.