cpplex.c: Update TODO comment.

* cpplex.c: Update TODO comment.
	* cpplib.c (do_error, do_warning): Merge common code of
	do_error and do_warning	into do_diagnostic.  Use it.
	(do_diagnostic): New function.
	* cpplib.h: Fix comment typo.

From-SVN: r36587
This commit is contained in:
Neil Booth 2000-09-24 10:42:09 +00:00 committed by Neil Booth
parent c5412f0646
commit 838f313bbd
4 changed files with 22 additions and 20 deletions

View File

@ -1,3 +1,11 @@
Sun 24-Sep-2000 11:40:23 BST Neil Booth <NeilB@earthling.net>
* cpplex.c: Update TODO comment.
* cpplib.c (do_error, do_warning): Merge common code of
do_error and do_warning into do_diagnostic. Use it.
(do_diagnostic): New function.
* cpplib.h: Fix comment typo.
2000-09-24 Joseph S. Myers <jsm28@cam.ac.uk> 2000-09-24 Joseph S. Myers <jsm28@cam.ac.uk>
* c-common.c (check_format_info): Warn for a wide character string * c-common.c (check_format_info): Warn for a wide character string

View File

@ -24,12 +24,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
Cleanups to do:- Cleanups to do:-
o Check line numbers assigned to all errors.
o Distinguish integers, floats, and 'other' pp-numbers. o Distinguish integers, floats, and 'other' pp-numbers.
o Store ints and char constants as binary values. o Store ints and char constants as binary values.
o New command-line assertion syntax. o New command-line assertion syntax.
o Work towards functions in cpperror.c taking a message level parameter.
If we do this, merge the common code of do_warning and do_error.
o Comment all functions, and describe macro expansion algorithm. o Comment all functions, and describe macro expansion algorithm.
o Move as much out of header files as possible. o Move as much out of header files as possible.
o Remove single quote pairs `', and some '', from diagnostics. o Remove single quote pairs `', and some '', from diagnostics.

View File

@ -52,7 +52,7 @@ static void push_conditional PARAMS ((cpp_reader *, int, int,
static int read_line_number PARAMS ((cpp_reader *, int *)); static int read_line_number PARAMS ((cpp_reader *, int *));
static int strtoul_for_line PARAMS ((const U_CHAR *, unsigned int, static int strtoul_for_line PARAMS ((const U_CHAR *, unsigned int,
unsigned long *)); unsigned long *));
static void do_diagnostic PARAMS ((cpp_reader *, enum error_type));
static const cpp_hashnode * static const cpp_hashnode *
parse_ifdef PARAMS ((cpp_reader *, const U_CHAR *)); parse_ifdef PARAMS ((cpp_reader *, const U_CHAR *));
static const cpp_hashnode * static const cpp_hashnode *
@ -583,38 +583,35 @@ do_line (pfile)
} }
/* /*
* Report an error detected by the program we are processing. * Report a warning or error detected by the program we are
* Use the text of the line in the error message. * processing. Use the directive's tokens in the error message.
* (We use error because it prints the filename & line#.)
*/ */
static void
do_diagnostic (pfile, code)
cpp_reader *pfile;
enum error_type code;
{
if (_cpp_begin_message (pfile, code, NULL, 0, 0))
{
cpp_output_list (pfile, stderr, &pfile->token_list,
pfile->first_directive_token);
putc ('\n', stderr);
}
}
static void static void
do_error (pfile) do_error (pfile)
cpp_reader *pfile; cpp_reader *pfile;
{ {
if (_cpp_begin_message (pfile, ERROR, NULL, 0, 0)) do_diagnostic (pfile, ERROR);
{
cpp_output_list (pfile, stderr, &pfile->token_list,
pfile->first_directive_token);
putc ('\n', stderr);
} }
}
/*
* Report a warning detected by the program we are processing.
* Use the text of the line in the warning message, then continue.
*/
static void static void
do_warning (pfile) do_warning (pfile)
cpp_reader *pfile; cpp_reader *pfile;
{ {
if (_cpp_begin_message (pfile, WARNING, NULL, 0, 0)) do_diagnostic (pfile, WARNING);
{
cpp_output_list (pfile, stderr, &pfile->token_list,
pfile->first_directive_token);
putc ('\n', stderr);
}
} }
/* Report program identification. */ /* Report program identification. */

View File

@ -457,7 +457,7 @@ struct lexer_state
all directives apart from #define. */ all directives apart from #define. */
unsigned char save_comments; unsigned char save_comments;
/* Nonzero to get force the lexer to skip newlines. */ /* Nonzero to force the lexer to skip newlines. */
unsigned char skip_newlines; unsigned char skip_newlines;
/* Nonzero if we're in the subroutine lex_line. */ /* Nonzero if we're in the subroutine lex_line. */