FreeBSD/contrib/gcc/cp/parser.c
/* Return the next token, and advance the lexer's next_token pointer
   to point to the next non-purged token.  */
Return the next token, and advance the lexer's next_token pointer
to point to the next non-purged token.
Return the next token and advance the lexer ' s next_token pointer to point to the next non - purged token .
static cp_token *
cp_lexer_consume_token (cp_lexer* lexer)
{
  cp_token *token = lexer->next_token;
  gcc_assert (token != &eof_token);
  gcc_assert (!lexer->in_pragma || token->type != CPP_PRAGMA_EOL);
  do
    {
      lexer->next_token++;
      if (lexer->next_token == lexer->last_token)
	{
	  lexer->next_token = (cp_token *)&eof_token;
	  break;
	}
    }
  while (lexer->next_token->type == CPP_PURGED);
  cp_lexer_set_source_position_from_token (token);
  if (cp_lexer_debugging_p (lexer))
    {
      fputs ("cp_lexer: consuming token: ", cp_lexer_debug_stream);
      cp_lexer_print_token (cp_lexer_debug_stream, token);
      putc ('\n', cp_lexer_debug_stream);
    }
  return token;
}
static cp_token * cp_lexer_consume_token ( cp_lexer * lexer ) { cp_token * token = lexer -> next_token ; gcc_assert ( token != & eof_token ) ; gcc_assert ( ! lexer -> in_pragma || token -> type != CPP_PRAGMA_EOL ) ; do { lexer -> next_token ++ ; if ( lexer -> next_token == lexer -> last_token ) { lexer -> next_token = ( cp_token * ) & eof_token ; break ; } } while ( lexer -> next_token -> type == CPP_PURGED ) ; cp_lexer_set_source_position_from_token ( token ) ; if ( cp_lexer_debugging_p ( lexer ) ) { fputs ( " " , cp_lexer_debug_stream ) ; cp_lexer_print_token ( cp_lexer_debug_stream , token ) ; putc ( ' \n ' , cp_lexer_debug_stream ) ; } return token ; }
Return the next token, and advance the lexer's next_token pointer
to point to the next non-purged token.
Return the next token and advance the lexer ' s next_token pointer to point to the next non - purged token .
/* Provide debugging output.  */