line-map.h (struct line_maps): New field highest_line.
authorPer Bothner <per@bothner.com>
Fri, 23 Apr 2004 02:22:27 +0000 (19:22 -0700)
committerPer Bothner <bothner@gcc.gnu.org>
Fri, 23 Apr 2004 02:22:27 +0000 (19:22 -0700)
commit500bee0adc06da520a9b8b3afde33afee6f314f3
tree04a13ceb8485dc1405388eb42a55f0a9c7a8ebbc
parent9344fdb9407d69218d02c2e509a358e80cf64eb6
line-map.h (struct line_maps): New field highest_line.

* line-map.h (struct line_maps):  New field highest_line.
(linemap_position_for_column):  Make non-inline function.
(LINEMAP_POSITION_FOR_COLUMN):  New macro.
* line-map.c (linemap_init):  Clear highest_line field.
(linemap_add):  Set highest_line field.
(linemap_line_start):  Minor optimization - use highest_line field.
Reduce maximum column hint to 10000.  Update highest_line field.
(linemap_position_for_column):  Moved from line-map.h.  Optimize a bit.
* cpphash.h (struct cpp_reader):  Remove line field - instead use
line_table->highest_line.
(saved_line):  Remove unused field.
(CPP_INCREMENT_FILE):  Don't do linemap_lookup - just use newest map.
Use  line_table's highest_line field instead of cpp_reader's line.
* cpplib.c (start_directive):  Likewise use highest_line field.
(do_line, do_linemarker):  Likewise just use newest map.
(_cpp_do_file_change):  Don't need to set cpp_reader's line field.
* cpperror.c (cpp_error):  Likewise use highest_line field.
* cppfiles.c (open_file_failed:  Likewise.
(cpp_make_system_header):  Likewise use newest map and highest_line.
* cppinit.c (cpp_create_reader):  Don't initialize removed field.
* cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
_cpp_lex_direct):  Likewise use highest_line.
(_cpp_lex_direct):  Use new LINEMAP_POSITION_FOR_COLUMN macro.
* cppmacro.c (_cpp_builtin_macro_text):  Likewise use highest_line,
and use newest map.
* cpppch.c (cpp_read_state):  Don't save+restore cpp_reader's line.
* cpptrad.c (_cpp_overlay_buffer):  Don't save cpp_reader's line.
(copy_comment, _cpp_scan_out_logical_line):  Likewise use highest_line.

From-SVN: r81074
12 files changed:
gcc/ChangeLog
gcc/cpperror.c
gcc/cppfiles.c
gcc/cpphash.h
gcc/cppinit.c
gcc/cpplex.c
gcc/cpplib.c
gcc/cppmacro.c
gcc/cpppch.c
gcc/cpptrad.c
gcc/line-map.c
gcc/line-map.h