Commit 838f313b by Neil Booth Committed by Neil Booth

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
parent c5412f06
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
......
...@@ -24,12 +24,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ ...@@ -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.
......
...@@ -52,7 +52,7 @@ static void push_conditional PARAMS ((cpp_reader *, int, int, ...@@ -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,16 +583,16 @@ do_line (pfile) ...@@ -583,16 +583,16 @@ 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 static void
do_error (pfile) do_diagnostic (pfile, code)
cpp_reader *pfile; cpp_reader *pfile;
enum error_type code;
{ {
if (_cpp_begin_message (pfile, ERROR, NULL, 0, 0)) if (_cpp_begin_message (pfile, code, NULL, 0, 0))
{ {
cpp_output_list (pfile, stderr, &pfile->token_list, cpp_output_list (pfile, stderr, &pfile->token_list,
pfile->first_directive_token); pfile->first_directive_token);
...@@ -600,21 +600,18 @@ do_error (pfile) ...@@ -600,21 +600,18 @@ do_error (pfile)
} }
} }
/* static void
* Report a warning detected by the program we are processing. do_error (pfile)
* Use the text of the line in the warning message, then continue. cpp_reader *pfile;
*/ {
do_diagnostic (pfile, ERROR);
}
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. */
......
...@@ -457,7 +457,7 @@ struct lexer_state ...@@ -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. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment