cpplex.c: Update TODO comment.
authorNeil Booth <neilb@earthling.net>
Sun, 24 Sep 2000 10:42:09 +0000 (10:42 +0000)
committerNeil Booth <neil@gcc.gnu.org>
Sun, 24 Sep 2000 10:42:09 +0000 (10:42 +0000)
* 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

gcc/ChangeLog
gcc/cpplex.c
gcc/cpplib.c
gcc/cpplib.h

index 55bdbc6cfdea560b4ba01703dacab21811222206..c6ecd38ca78e5501a090639556ada842bbe7f3e3 100644 (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>
 
        * c-common.c (check_format_info): Warn for a wide character string
index a7a6f99098c4a4bb7500b6af66f6eb763e0ed87c..720574bfcd04e20eaca2d55c17e4e4c2bf01241b 100644 (file)
@@ -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.
index 8c61ab0c222c4a9b9b63e1bc11d9bea9241c9e83..d6fcf9bfb2d2184b09b6d86ec2a9d11cc398285b 100644 (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  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.  */
index 15c30abc67d56abfa8de2207f589fcd7ab993ab8..c6f7ed34e8534951013133d6a6ab7c7ad83c0251 100644 (file)
@@ -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.  */