+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>
* c-common.c (check_format_info): Warn for a wide character string
Cleanups to do:-
-o Check line numbers assigned to all errors.
o Distinguish integers, floats, and 'other' pp-numbers.
o Store ints and char constants as binary values.
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 Move as much out of header files as possible.
o Remove single quote pairs `', and some '', from diagnostics.
static int read_line_number PARAMS ((cpp_reader *, int *));
static int strtoul_for_line PARAMS ((const U_CHAR *, unsigned int,
unsigned long *));
-
+static void do_diagnostic PARAMS ((cpp_reader *, enum error_type));
static const cpp_hashnode *
parse_ifdef PARAMS ((cpp_reader *, const U_CHAR *));
static const cpp_hashnode *
}
/*
- * Report an error detected by the program we are processing.
- * Use the text of the line in the error message.
- * (We use error because it prints the filename & line#.)
+ * Report a warning or error detected by the program we are
+ * processing. Use the directive's tokens in the error message.
*/
static void
-do_error (pfile)
+do_diagnostic (pfile, code)
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,
pfile->first_directive_token);
}
}
-/*
- * Report a warning detected by the program we are processing.
- * Use the text of the line in the warning message, then continue.
- */
+static void
+do_error (pfile)
+ cpp_reader *pfile;
+{
+ do_diagnostic (pfile, ERROR);
+}
static void
do_warning (pfile)
cpp_reader *pfile;
{
- if (_cpp_begin_message (pfile, WARNING, NULL, 0, 0))
- {
- cpp_output_list (pfile, stderr, &pfile->token_list,
- pfile->first_directive_token);
- putc ('\n', stderr);
- }
+ do_diagnostic (pfile, WARNING);
}
/* Report program identification. */