c++: refactor some parser code
authorNathan Sidwell <nathan@acm.org>
Wed, 15 Jul 2020 14:38:35 +0000 (07:38 -0700)
committerNathan Sidwell <nathan@acm.org>
Wed, 15 Jul 2020 14:41:30 +0000 (07:41 -0700)
commit765fbbf9bb398560f45987ea9858dfaaefff5ce0
treee669911f01e67c1bb48cbb4c13009c629f018748
parent790b1f64157b53265f85ad9a093cdce03761db87
c++: refactor some parser code

cp_parser_declaration copies tokens to local variables, before inspecting
(some of) their fields.  There's no need.  Just point at them in the token
buffer -- they don't move.  Also, we never look at the second token if the
first is EOF, so no need for some kind of dummy value in that case.

gcc/cp/
* parser.c (cp_parser_declaration): Avoid copying tokens.
(cp_parser_block_declaration): RAII token pointer.
gcc/cp/parser.c