diff options
author | Tom Tromey <tromey@redhat.com> | 2007-11-01 15:31:12 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2007-11-01 15:31:12 +0000 |
commit | 5af28c745214bb36de18d625705d6328373164cb (patch) | |
tree | 3a0a70e9966b269f5ebf022b1b4791ced82f6bd8 /gcc/c-parser.c | |
parent | 18aa09d19539fd8d1ca5337d1410e3e21d24a971 (diff) | |
download | gcc-5af28c745214bb36de18d625705d6328373164cb.zip gcc-5af28c745214bb36de18d625705d6328373164cb.tar.gz gcc-5af28c745214bb36de18d625705d6328373164cb.tar.bz2 |
c-decl.c (grokdeclarator): Set decl source locations.
gcc
* c-decl.c (grokdeclarator): Set decl source locations.
* c-parser.c (c_parser_enum_specifier): Set location.
(c_parser_struct_or_union_specifier): Likewise.
gcc/testsuite
* gcc.dg/redecl-1.c: Update.
* gcc.dg/pr20368-3.c: Update.
* gcc.dg/inline-14.c: Update.
* gcc.dg/builtins-30.c: Update.
* gcc.dg/dremf-type-compat-4.c: Update.
* gcc.dg/pr20368-2.c: Update.
From-SVN: r129822
Diffstat (limited to 'gcc/c-parser.c')
-rw-r--r-- | gcc/c-parser.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/c-parser.c b/gcc/c-parser.c index bdf96ca..2914826 100644 --- a/gcc/c-parser.c +++ b/gcc/c-parser.c @@ -1707,6 +1707,8 @@ c_parser_enum_specifier (c_parser *parser) gcc_assert (c_parser_next_token_is_keyword (parser, RID_ENUM)); c_parser_consume_token (parser); attrs = c_parser_attributes (parser); + /* Set the location in case we create a decl now. */ + c_parser_set_source_position_from_token (c_parser_peek_token (parser)); if (c_parser_next_token_is (parser, CPP_NAME)) { ident = c_parser_peek_token (parser)->value; @@ -1728,6 +1730,7 @@ c_parser_enum_specifier (c_parser *parser) tree enum_value; tree enum_decl; bool seen_comma; + c_token *token; if (c_parser_next_token_is_not (parser, CPP_NAME)) { c_parser_error (parser, "expected identifier"); @@ -1735,7 +1738,10 @@ c_parser_enum_specifier (c_parser *parser) values = error_mark_node; break; } - enum_id = c_parser_peek_token (parser)->value; + token = c_parser_peek_token (parser); + enum_id = token->value; + /* Set the location in case we create a decl now. */ + c_parser_set_source_position_from_token (token); c_parser_consume_token (parser); if (c_parser_next_token_is (parser, CPP_EQ)) { @@ -1848,6 +1854,8 @@ c_parser_struct_or_union_specifier (c_parser *parser) } c_parser_consume_token (parser); attrs = c_parser_attributes (parser); + /* Set the location in case we create a decl now. */ + c_parser_set_source_position_from_token (c_parser_peek_token (parser)); if (c_parser_next_token_is (parser, CPP_NAME)) { ident = c_parser_peek_token (parser)->value; |