cpperror.c (print_location): Don't special case <stdin>.

* cpperror.c (print_location): Don't special case <stdin>.
	(_cpp_begin_message): Handle WARNING_SYSHDR the same as
	WARNING, but we don't check if we're in system headers.
	* cpplib.h (enum error_type): WARNING_SYSHDR: New.
	* cpplib.c (do_warning): Warn in system headers.

From-SVN: r41186
This commit is contained in:
Neil Booth 2001-04-08 10:01:18 +00:00 committed by Neil Booth
parent e542e61832
commit 2f878973cd
4 changed files with 12 additions and 4 deletions

View File

@ -1,3 +1,11 @@
2001-04-08 Neil Booth <neil@daikokuya.demon.co.uk>
* cpperror.c (print_location): Don't special case <stdin>.
(_cpp_begin_message): Handle WARNING_SYSHDR the same as
WARNING, but we don't check if we're in system headers.
* cpplib.h (enum error_type): WARNING_SYSHDR: New.
* cpplib.c (do_warning): Warn in system headers.
2001-04-07 Mumit Khan <khan@NanoTech.Wisc.EDU>
* mbchar.c: Include config.h first.

View File

@ -124,8 +124,6 @@ print_location (pfile, filename, pos)
if (filename == 0)
filename = buffer->nominal_fname;
if (*filename == '\0')
filename = _("<stdin>");
if (line == 0)
fprintf (stderr, "%s: ", filename);
@ -159,6 +157,7 @@ _cpp_begin_message (pfile, code, file, pos)
if (CPP_IN_SYSTEM_HEADER (pfile)
&& ! CPP_OPTION (pfile, warn_system_headers))
return 0;
case WARNING_SYSHDR:
if (CPP_OPTION (pfile, warnings_are_errors)
|| (code == PEDWARN && CPP_OPTION (pfile, pedantic_errors)))
{

View File

@ -389,7 +389,7 @@ extern unsigned char _cpp_trigraph_map[UCHAR_MAX + 1];
#define HASHSTEP(r, c) ((r) * 67 + (c - 113));
/* In cpperror.c */
enum error_type { WARNING = 0, PEDWARN, ERROR, FATAL, ICE };
enum error_type { WARNING = 0, WARNING_SYSHDR, PEDWARN, ERROR, FATAL, ICE };
extern int _cpp_begin_message PARAMS ((cpp_reader *, enum error_type,
const char *, const cpp_lexer_pos *));

View File

@ -874,7 +874,8 @@ static void
do_warning (pfile)
cpp_reader *pfile;
{
do_diagnostic (pfile, WARNING, 1);
/* We want #warning diagnostics to be emitted in system headers too. */
do_diagnostic (pfile, WARNING_SYSHDR, 1);
}
/* Report program identification. */