diff options
author | Per Bothner <per@bothner.com> | 2005-03-11 22:37:46 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2005-03-11 22:37:46 -0800 |
commit | 6037d88d58ffcacc4ee354f4300910589dc5ce47 (patch) | |
tree | 65b4a8dab5e3ade6d18469d0c871b15a2a066e5a /gcc/c-parser.c | |
parent | 210e185272bc34731909e0a53fb982d3ae434516 (diff) | |
download | gcc-6037d88d58ffcacc4ee354f4300910589dc5ce47.zip gcc-6037d88d58ffcacc4ee354f4300910589dc5ce47.tar.gz gcc-6037d88d58ffcacc4ee354f4300910589dc5ce47.tar.bz2 |
c-tree.h (struct c_declarator): New id_loc field.
* c-tree.h (struct c_declarator): New id_loc field.
* c-pragma.h (c_lex_with_flags): Take position reference.
* c-lex.c (c_lex_with_flags): Set passed-in location from cpp token,
iff USE_MAPPED_LOCATION. (Type doesn't match otherwise.)
(c_lex): Pass dummy location to c_lex_with_flags.
* c-parser.c (c_lex_one_token): Set c_token's location using
c_lex_with_flags, instead of input_location, which might be "ahead".
(c_parser_direct_declarator): Set declarator's id_loc from
c_token's id_loc.
* c-decl.c (grokdeclarator): Set DECL_SOURCE_LOCATION from
declarator's id_loc, rather than probably-imprecise input_location.
(build_id_declarator): Initialize c_declarator's id_loc field.
From-SVN: r96329
Diffstat (limited to 'gcc/c-parser.c')
-rw-r--r-- | gcc/c-parser.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/c-parser.c b/gcc/c-parser.c index 9487422..6fd09b9 100644 --- a/gcc/c-parser.c +++ b/gcc/c-parser.c @@ -295,8 +295,7 @@ static void c_lex_one_token (c_token *token) { timevar_push (TV_LEX); - token->type = c_lex (&token->value); - token->location = input_location; + token->type = c_lex_with_flags (&token->value, &token->location, NULL); token->in_system_header = in_system_header; switch (token->type) { @@ -2179,6 +2178,7 @@ c_parser_direct_declarator (c_parser *parser, bool type_seen_p, c_dtr_syn kind, struct c_declarator *inner = build_id_declarator (c_parser_peek_token (parser)->value); *seen_id = true; + inner->id_loc = c_parser_peek_token (parser)->location; c_parser_consume_token (parser); return c_parser_direct_declarator_inner (parser, *seen_id, inner); } |