diff options
author | Neil Booth <neil@daikokuya.demon.co.uk> | 2000-12-18 10:16:26 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2000-12-18 10:16:26 +0000 |
commit | 851ef03661397f78874d792ed893edf3b7ab4e54 (patch) | |
tree | db463bd414e6865727f94ef194e4996997ab798e /gcc/c-lex.c | |
parent | 33ba48b6193690abc1e9ea10f2637240332613bf (diff) | |
download | gcc-851ef03661397f78874d792ed893edf3b7ab4e54.zip gcc-851ef03661397f78874d792ed893edf3b7ab4e54.tar.gz gcc-851ef03661397f78874d792ed893edf3b7ab4e54.tar.bz2 |
c-lex.c (lex_lineno): Remove.
* c-lex.c (lex_lineno): Remove.
(init_c_lex, c_lex): Remove lex_lineno.
(cb_change_file): Update lineno correctly, both before calling
push_srcloc and before leaving the function.
(cb_def_pragma): Set lineno before outputting diagnostics.
From-SVN: r38342
Diffstat (limited to 'gcc/c-lex.c')
-rw-r--r-- | gcc/c-lex.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/gcc/c-lex.c b/gcc/c-lex.c index 13e0ef2..072aee7 100644 --- a/gcc/c-lex.c +++ b/gcc/c-lex.c @@ -56,9 +56,6 @@ Boston, MA 02111-1307, USA. */ /* The original file name, before changing "-" to "stdin". */ static const char *orig_filename; -/* Private idea of the line number. See discussion in c_lex(). */ -static int lex_lineno; - /* We may keep statistics about how long which files took to compile. */ static int header_time, body_time; static splay_tree file_info_tree; @@ -129,9 +126,8 @@ init_c_lex (filename) if (filename == 0 || !strcmp (filename, "-")) filename = "stdin"; - /* Start it at 0, because check_newline is called at the very beginning - and will increment it to 1. */ - lineno = lex_lineno = 0; + /* Start it at 0. */ + lineno = 0; return filename; } @@ -240,7 +236,7 @@ cb_change_file (pfile, fc) /* Don't stack the main buffer on the input stack. */ if (fc->from.filename) { - lineno = lex_lineno; + lineno = fc->from.lineno; push_srcloc (fc->to.filename, 1); input_file_stack->indent_level = indent_level; debug_start_source_file (fc->to.filename); @@ -290,7 +286,7 @@ cb_change_file (pfile, fc) update_header_times (fc->to.filename); in_system_header = fc->sysp; input_filename = fc->to.filename; - lex_lineno = fc->to.lineno; + lineno = fc->to.lineno; /* Do we need this? */ /* Hook for C++. */ extract_interface_info (); @@ -314,6 +310,7 @@ cb_def_pragma (pfile) if (s.type == CPP_NAME) name = cpp_token_as_text (pfile, &s); + lineno = cpp_get_line (parse_in)->line; if (name) warning ("ignoring #pragma %s %s", space, name); else @@ -950,10 +947,9 @@ c_lex (value) /* The C++ front end does horrible things with the current line number. To ensure an accurate line number, we must reset it every time we return a token. */ - lex_lineno = cpp_get_line (parse_in)->line; + lineno = cpp_get_line (parse_in)->line; *value = NULL_TREE; - lineno = lex_lineno; type = tok.type; switch (type) { |