re PR preprocessor/34866 (valgrind error indication in testsuite from errors.c:156:cpp_error with gcc.dg/cpp/Wmissingdirs.c)
PR libcpp/34866: * errors.c (cpp_error): Don't reference a token before the start of the current run. From-SVN: r134421
This commit is contained in:
parent
723424c861
commit
bf048bea9c
2 changed files with 16 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-04-17 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
PR libcpp/34866:
|
||||
* errors.c (cpp_error): Don't reference a token before the start
|
||||
of the current run.
|
||||
|
||||
2008-04-16 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* Makefile.in (TAGS_SOURCES): New variable.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Default error handlers for CPP Library.
|
||||
Copyright (C) 1986, 1987, 1989, 1992, 1993, 1994, 1995, 1998, 1999, 2000,
|
||||
2001, 2002, 2004 Free Software Foundation, Inc.
|
||||
2001, 2002, 2004, 2008 Free Software Foundation, Inc.
|
||||
Written by Per Bothner, 1994.
|
||||
Based on CCCP program by Paul Rubin, June 1986
|
||||
Adapted to ANSI C, Richard Stallman, Jan 1987
|
||||
|
@ -151,6 +151,15 @@ cpp_error (cpp_reader * pfile, int level, const char *msgid, ...)
|
|||
else
|
||||
src_loc = pfile->line_table->highest_line;
|
||||
}
|
||||
/* We don't want to refer to a token before the beginning of the
|
||||
current run -- that is invalid. */
|
||||
else if (pfile->cur_token == pfile->cur_run->base)
|
||||
{
|
||||
if (pfile->cur_run->prev != NULL)
|
||||
src_loc = pfile->cur_run->prev->limit->src_loc;
|
||||
else
|
||||
src_loc = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
src_loc = pfile->cur_token[-1].src_loc;
|
||||
|
|
Loading…
Add table
Reference in a new issue