mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-23 10:54:07 +08:00
cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change callback even when popping the main file.
* cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change callback even when popping the main file. * cpplib.c (cpp_push_buffer): Since we no longer set return_at_eof, remove the unused return_at_eof parameter. * cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c: Update callers of cpp_push_buffer. From-SVN: r72016
This commit is contained in:
parent
31703a61a7
commit
40de9f7604
@ -5,6 +5,8 @@
|
||||
(get_non_padding_token): We no longer need to compensate for the
|
||||
"horrible things" the C++ front-end does with the current line number,
|
||||
|
||||
* cpplib.c (_cpp_pop_buffer): Do generate a _cpp_do_file_change
|
||||
callback even when popping the main file.
|
||||
* c-lex.c (fe_file_change): Handle a NULL new_map.
|
||||
* fix-header.c (cb_file_change): Likewise.
|
||||
* c-ppoutput.c (pp_file_change): Likewise.
|
||||
@ -40,6 +42,11 @@
|
||||
|
||||
* cpplex.c (_cpp_get_fresh_line): Return value now just depends on
|
||||
whether pfile->buffer is NULL after pop, ignoring return_at_eof.
|
||||
* cpphash.h (struct cpp_buffer): Remove unused return_at_eof field.
|
||||
* cpplib.c (cpp_push_buffer): Since we no longer set return_at_eof,
|
||||
remove the unused return_at_eof parameter.
|
||||
* cppfiles.c, cpplib.c, cppmacro.c, cpppch.c, fix-header.c:
|
||||
Update callers of cpp_push_buffer.
|
||||
|
||||
2003-10-01 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
|
@ -438,7 +438,7 @@ static void
|
||||
run_directive (cpp_reader *pfile, int dir_no, const char *buf, size_t count)
|
||||
{
|
||||
cpp_push_buffer (pfile, (const uchar *) buf, count,
|
||||
/* from_stage3 */ true, 1);
|
||||
/* from_stage3 */ true);
|
||||
/* Disgusting hack. */
|
||||
if (dir_no == T_PRAGMA)
|
||||
pfile->buffer->file = pfile->buffer->prev->file;
|
||||
@ -1911,7 +1911,7 @@ cpp_set_callbacks (cpp_reader *pfile, cpp_callbacks *cb)
|
||||
is the responsibility of the caller. */
|
||||
cpp_buffer *
|
||||
cpp_push_buffer (cpp_reader *pfile, const uchar *buffer, size_t len,
|
||||
int from_stage3, int return_at_eof)
|
||||
int from_stage3)
|
||||
{
|
||||
cpp_buffer *new = xobnew (&pfile->buffer_ob, cpp_buffer);
|
||||
|
||||
@ -1922,7 +1922,6 @@ cpp_push_buffer (cpp_reader *pfile, const uchar *buffer, size_t len,
|
||||
new->rlimit = buffer + len;
|
||||
new->from_stage3 = from_stage3;
|
||||
new->prev = pfile->buffer;
|
||||
new->return_at_eof = return_at_eof;
|
||||
new->need_line = true;
|
||||
|
||||
pfile->buffer = new;
|
||||
@ -1960,9 +1959,7 @@ _cpp_pop_buffer (cpp_reader *pfile)
|
||||
{
|
||||
_cpp_pop_file_buffer (pfile, inc);
|
||||
|
||||
/* Don't generate a callback for popping the main file. */
|
||||
if (pfile->buffer)
|
||||
_cpp_do_file_change (pfile, LC_LEAVE, 0, 0, 0);
|
||||
_cpp_do_file_change (pfile, LC_LEAVE, 0, 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -270,7 +270,7 @@ builtin_macro (cpp_reader *pfile, cpp_hashnode *node)
|
||||
memcpy (nbuf, buf, len);
|
||||
nbuf[len]='\n';
|
||||
|
||||
cpp_push_buffer (pfile, (uchar *) nbuf, len, /* from_stage3 */ true, 1);
|
||||
cpp_push_buffer (pfile, (uchar *) nbuf, len, /* from_stage3 */ true);
|
||||
_cpp_clean_line (pfile);
|
||||
|
||||
/* Set pfile->cur_token as required by _cpp_lex_direct. */
|
||||
@ -426,7 +426,7 @@ paste_tokens (cpp_reader *pfile, const cpp_token **plhs, const cpp_token *rhs)
|
||||
end = cpp_spell_token (pfile, rhs, end);
|
||||
*end = '\n';
|
||||
|
||||
cpp_push_buffer (pfile, buf, end - buf, /* from_stage3 */ true, 1);
|
||||
cpp_push_buffer (pfile, buf, end - buf, /* from_stage3 */ true);
|
||||
_cpp_clean_line (pfile);
|
||||
|
||||
/* Set pfile->cur_token as required by _cpp_lex_direct. */
|
||||
@ -1136,10 +1136,6 @@ cpp_sys_macro_p (cpp_reader *pfile)
|
||||
void
|
||||
cpp_scan_nooutput (cpp_reader *pfile)
|
||||
{
|
||||
/* Request a CPP_EOF token at the end of this file, rather than
|
||||
transparently continuing with the including file. */
|
||||
pfile->buffer->return_at_eof = true;
|
||||
|
||||
if (CPP_OPTION (pfile, traditional))
|
||||
while (_cpp_read_logical_line_trad (pfile))
|
||||
;
|
||||
|
@ -686,8 +686,8 @@ cpp_read_state (cpp_reader *r, const char *name, FILE *f,
|
||||
else if (m.name_length != m.definition_length)
|
||||
{
|
||||
if (cpp_push_buffer (r, defn + m.name_length,
|
||||
m.definition_length - m.name_length,
|
||||
true, 1) != NULL)
|
||||
m.definition_length - m.name_length, true)
|
||||
!= NULL)
|
||||
{
|
||||
_cpp_clean_line (r);
|
||||
if (!_cpp_create_definition (r, h))
|
||||
|
Loading…
Reference in New Issue
Block a user