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:
parent
d395df2636
commit
e2e1fa50d9
2 changed files with 17 additions and 2 deletions
|
@ -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):
|
||||
|
|
14
gcc/cpplib.c
14
gcc/cpplib.c
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue