+2011-10-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR bootstrap/50778
+ * include/internal.h (_cpp_remaining_tokens_num_in_context): Take the
+ context to act upon.
+ * lex.c (_cpp_remaining_tokens_num_in_context): Likewise. Update
+ comment.
+ (cpp_token_from_context_at): Likewise.
+ (cpp_peek_token): Use the context to peek tokens from.
+
2011-10-20 Dodji Seketeli <dodji@redhat.com>
PR bootstrap/50801
extern int _cpp_equiv_tokens (const cpp_token *, const cpp_token *);
extern void _cpp_init_tokenrun (tokenrun *, unsigned int);
extern cpp_hashnode *_cpp_lex_identifier (cpp_reader *, const char *);
-extern int _cpp_remaining_tokens_num_in_context (cpp_reader *);
+extern int _cpp_remaining_tokens_num_in_context (cpp_context *);
/* In init.c. */
extern void _cpp_maybe_push_include_file (cpp_reader *);
return run->next;
}
-/* Return the number of not yet processed token in the the current
+/* Return the number of not yet processed token in a given
context. */
int
-_cpp_remaining_tokens_num_in_context (cpp_reader *pfile)
+_cpp_remaining_tokens_num_in_context (cpp_context *context)
{
- cpp_context *context = pfile->context;
if (context->tokens_kind == TOKENS_KIND_DIRECT)
return (LAST (context).token - FIRST (context).token);
else if (context->tokens_kind == TOKENS_KIND_INDIRECT
abort ();
}
-/* Returns the token present at index INDEX in the current context.
- If INDEX is zero, the next token to be processed is returned. */
+/* Returns the token present at index INDEX in a given context. If
+ INDEX is zero, the next token to be processed is returned. */
static const cpp_token*
-_cpp_token_from_context_at (cpp_reader *pfile, int index)
+_cpp_token_from_context_at (cpp_context *context, int index)
{
- cpp_context *context = pfile->context;
if (context->tokens_kind == TOKENS_KIND_DIRECT)
return &(FIRST (context).token[index]);
else if (context->tokens_kind == TOKENS_KIND_INDIRECT
/* First, scan through any pending cpp_context objects. */
while (context->prev)
{
- ptrdiff_t sz = _cpp_remaining_tokens_num_in_context (pfile);
+ ptrdiff_t sz = _cpp_remaining_tokens_num_in_context (context);
if (index < (int) sz)
- return _cpp_token_from_context_at (pfile, index);
+ return _cpp_token_from_context_at (context, index);
index -= (int) sz;
context = context->prev;
}