diff options
author | Neil Booth <neilb@earthling.net> | 2000-09-24 10:42:09 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2000-09-24 10:42:09 +0000 |
commit | 838f313bbdf80d22aca1751d272efc3c58c2b870 (patch) | |
tree | cc48c49fb97eab0d2417c46c7dfcc7a7a9fb8e95 /gcc | |
parent | c5412f0646a072dde262a8643ee2494fd55884eb (diff) | |
download | gcc-838f313bbdf80d22aca1751d272efc3c58c2b870.zip gcc-838f313bbdf80d22aca1751d272efc3c58c2b870.tar.gz gcc-838f313bbdf80d22aca1751d272efc3c58c2b870.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/cpplex.c | 3 | ||||
-rw-r--r-- | gcc/cpplib.c | 29 | ||||
-rw-r--r-- | gcc/cpplib.h | 2 |
4 files changed, 22 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 55bdbc6..c6ecd38 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> * c-common.c (check_format_info): Warn for a wide character string diff --git a/gcc/cpplex.c b/gcc/cpplex.c index a7a6f99..720574b 100644 --- a/gcc/cpplex.c +++ b/gcc/cpplex.c @@ -24,12 +24,9 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ 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. diff --git a/gcc/cpplib.c b/gcc/cpplib.c index 8c61ab0..d6fcf9bf 100644 --- a/gcc/cpplib.c +++ b/gcc/cpplib.c @@ -52,7 +52,7 @@ static void push_conditional PARAMS ((cpp_reader *, int, int, 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 * @@ -583,16 +583,16 @@ do_line (pfile) } /* - * 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); @@ -600,21 +600,18 @@ do_error (pfile) } } -/* - * 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. */ diff --git a/gcc/cpplib.h b/gcc/cpplib.h index 15c30ab..c6f7ed3 100644 --- a/gcc/cpplib.h +++ b/gcc/cpplib.h @@ -457,7 +457,7 @@ struct lexer_state all directives apart from #define. */ 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; /* Nonzero if we're in the subroutine lex_line. */ |