In cp/parser.c:cp_parser_declaration(), we have the following code

  /* Try to figure out what kind of declaration is present.  */
  token1 = *cp_lexer_peek_token (parser->lexer);

  if (token1.type != CPP_EOF)
    token2 = *cp_lexer_peek_nth_token (parser->lexer, 2);
  else
    token2.type = token2.keyword = RID_MAX;

It looks to me like the last line is a typo for

    {
      token2.type = CPP_EOF;
      token2.keyword = RID_MAX;
    }

as cp_token::type and cp_token::keyword are of different types and we
don't seem to mix them except at that single place.  Is that correct?

-- Gaby
PS: that was caught by a build of cp/parser.c with g++.

Reply via email to