cpplib.c (do_pragma): Reintroduce cb_line_change call in the code path that calls a handler.

* cpplib.c (do_pragma): Reintroduce cb_line_change call in the
code path that calls a handler.

From-SVN: r71744
This commit is contained in:
Alexandre Oliva 2003-09-24 23:53:07 +00:00 committed by Alexandre Oliva
parent d395df2636
commit e2e1fa50d9
2 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2003-09-24 Alexandre Oliva <aoliva@redhat.com>
* cpplib.c (do_pragma): Reintroduce cb_line_change call in the
code path that calls a handler.
2003-09-24 Nathanael Nerode <neroden@gcc.gnu.org>
* config.gcc (c4x-*, tic4x-*, d30v-*, mmix-knuth-mmixware):

View File

@ -1120,7 +1120,7 @@ static void
do_pragma (cpp_reader *pfile)
{
const struct pragma_entry *p = NULL;
const cpp_token *token;
const cpp_token *token, *pragma_token = pfile->cur_token;
unsigned int count = 1;
pfile->state.prevent_expansion++;
@ -1141,7 +1141,17 @@ do_pragma (cpp_reader *pfile)
}
if (p)
p->u.handler (pfile);
{
/* Since the handler below doesn't get the line number, that it
might need for diagnostics, make sure it has the right
numbers in place. */
if (pfile->cb.line_change)
(*pfile->cb.line_change) (pfile, pragma_token, false);
(*p->u.handler) (pfile);
if (pfile->cb.line_change)
(*pfile->cb.line_change) (pfile, pfile->cur_token, false);
}
else if (pfile->cb.def_pragma)
{
_cpp_backup_tokens (pfile, count);