FreeBSD/contrib/gcc/cp/parser.c
/* Permanently remove the next token from the token stream, and
   advance the next_token pointer to refer to the next non-purged
   token.  */
Permanently remove the next token from the token stream, and
advance the next_token pointer to refer to the next non-purged
token.
Permanently remove the next token from the token stream and advance the next_token pointer to refer to the next non - purged token .
static void
cp_lexer_purge_token (cp_lexer *lexer)
{
  cp_token *tok = lexer->next_token;
  gcc_assert (tok != &eof_token);
  tok->type = CPP_PURGED;
  tok->location = UNKNOWN_LOCATION;
  tok->u.value = NULL_TREE;
  tok->keyword = RID_MAX;
  do
    {
      tok++;
      if (tok == lexer->last_token)
	{
	  tok = (cp_token *)&eof_token;
	  break;
	}
    }
  while (tok->type == CPP_PURGED);
  lexer->next_token = tok;
}
static void cp_lexer_purge_token ( cp_lexer * lexer ) { cp_token * tok = lexer -> next_token ; gcc_assert ( tok != & eof_token ) ; tok -> type = CPP_PURGED ; tok -> location = UNKNOWN_LOCATION ; tok -> u . value = NULL_TREE ; tok -> keyword = RID_MAX ; do { tok ++ ; if ( tok == lexer -> last_token ) { tok = ( cp_token * ) & eof_token ; break ; } } while ( tok -> type == CPP_PURGED ) ; lexer -> next_token = tok ; }
Permanently remove the next token from the token stream, and
advance the next_token pointer to refer to the next non-purged
token.
Permanently remove the next token from the token stream and advance the next_token pointer to refer to the next non - purged token .