OSDN Git Service

* objc/objc-act.c (warn_with_ivar): Adjust calls to
authorgdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Jun 2002 23:11:34 +0000 (23:11 +0000)
committergdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Jun 2002 23:11:34 +0000 (23:11 +0000)
diagnostic_count_error.
(warn_with_method): Likewise.

* diagnostic.h (warnings_are_errors_message): New field of
diagnostic_context.
(diagnostic_count_error): Rename to
diagnostic_count_diagnostic to
match semantics.
* diagnostic.c: Adjust calls to diagnostic_count_error through
out.
(diagnostic_count_diagnostic): Make aware of other kinds of
diagnostics.
(diagnostic_initialize): Initialize
warnings_are_errors_message field.

f/
2002-06-12  Gabriel Dos Reis  <gdr@codesourcery.com>

    * bad.c (ffebad_start_): Adjust calls to
              diagnostic_count_error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54532 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/diagnostic.c
gcc/diagnostic.h
gcc/f/ChangeLog
gcc/f/bad.c
gcc/objc/objc-act.c

index bdb2ab2..cbf8cbd 100644 (file)
@@ -1,3 +1,18 @@
+2002-06-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * objc/objc-act.c (warn_with_ivar): Adjust calls to
+       diagnostic_count_error.
+       (warn_with_method): Likewise.
+
+       * diagnostic.h (warnings_are_errors_message): New field of
+       diagnostic_context.
+       (diagnostic_count_error): Rename to diagnostic_count_diagnostic to
+       match semantics.
+       * diagnostic.c: Adjust calls to diagnostic_count_error through out.
+       (diagnostic_count_diagnostic): Make aware of other kinds of
+       diagnostics. 
+       (diagnostic_initialize): Initialize warnings_are_errors_message field.
+
 2002-06-11  Tom Tromey  <tromey@redhat.com>
 
        For PR java/6520:
index 22f116a..fd4462a 100644 (file)
@@ -766,6 +766,7 @@ diagnostic_initialize (context)
 
   diagnostic_starter (context) = default_diagnostic_starter;
   diagnostic_finalizer (context) = default_diagnostic_finalizer;
+  context->warnings_are_errors_message = warnings_are_errors;
 }
 
 void
@@ -819,7 +820,7 @@ diagnostic_for_decl (diagnostic, decl)
   if (global_dc->lock++)
     error_recursion (global_dc);
 
-  if (diagnostic_count_error (global_dc, diagnostic->kind))
+  if (diagnostic_count_diagnostic (global_dc, diagnostic->kind))
     {
       diagnostic_report_current_function (global_dc);
       output_set_prefix
@@ -839,29 +840,42 @@ diagnostic_flush_buffer (context)
   fflush (output_buffer_attached_stream (&context->buffer));
 }
 
-/* Count an error or warning.  Return true if the message should be
-   printed.  */
+/* Count a diagnostic.  Return true if the message should be printed.  */
 bool
-diagnostic_count_error (context, kind)
+diagnostic_count_diagnostic (context, kind)
     diagnostic_context *context;
     diagnostic_t kind;
 {
-  if (kind == DK_WARNING && !diagnostic_report_warnings_p ())
-    return false;
-
-  if (kind == DK_WARNING && !warnings_are_errors)
-    ++diagnostic_kind_count (context, DK_WARNING);
-  else
+  switch (kind)
     {
-      static bool warning_message = false;
-
-      if (kind == DK_WARNING && !warning_message)
-       {
+    default:
+      abort();
+      break;
+      
+    case DK_FATAL: case DK_ICE: case DK_SORRY:
+    case DK_ANACHRONISM: case DK_NOTE:
+      ++diagnostic_kind_count (context, kind);
+      break;
+
+    case DK_WARNING:
+      if (!diagnostic_report_warnings_p ())
+        return false;
+      else if (!warnings_are_errors)
+        {
+          ++diagnostic_kind_count (context, DK_WARNING);
+          break;
+        }
+      /* else fall through.  */
+
+    case DK_ERROR:
+      if (kind == DK_WARNING && context->warnings_are_errors_message)
+        {
          output_verbatim (&context->buffer,
                            "%s: warnings being treated as errors\n", progname);
-         warning_message = true;
-       }
+          context->warnings_are_errors_message = false;
+        }
       ++diagnostic_kind_count (context, DK_ERROR);
+      break;
     }
 
   return true;
@@ -1220,7 +1234,7 @@ diagnostic_report_diagnostic (context, diagnostic)
   if (context->lock++)
     error_recursion (context);
 
-  if (diagnostic_count_error (context, diagnostic->kind))
+  if (diagnostic_count_diagnostic (context, diagnostic->kind))
     {
       (*diagnostic_starter (context)) (context, diagnostic);
       output_format (&context->buffer, &diagnostic->message);
index bbc8e07..c98b8e1 100644 (file)
@@ -187,6 +187,10 @@ struct diagnostic_context
   /* The number of times we have issued diagnostics.  */
   int diagnostic_count[DK_LAST_DIAGNOSTIC_KIND];
 
+  /* True if we should display the "warnings are being tread as error"
+     message, usually displayed once per compiler run.  */
+  bool warnings_are_errors_message;
+
   /* This function is called before any message is printed out.  It is
      responsible for preparing message prefix and such.  For example, it
      might say:
@@ -284,7 +288,7 @@ extern void diagnostic_initialize   PARAMS ((diagnostic_context *));
 extern void diagnostic_report_current_module PARAMS ((diagnostic_context *));
 extern void diagnostic_report_current_function PARAMS ((diagnostic_context *));
 extern void diagnostic_flush_buffer    PARAMS ((diagnostic_context *));
-extern bool diagnostic_count_error      PARAMS ((diagnostic_context *,
+extern bool diagnostic_count_diagnostic PARAMS ((diagnostic_context *,
                                                  diagnostic_t));
 extern void diagnostic_report_diagnostic PARAMS ((diagnostic_context *,
                                                  diagnostic_info *));
index ecb8ff4..48fa9a0 100644 (file)
@@ -1,3 +1,7 @@
+2002-06-12  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * bad.c (ffebad_start_): Adjust calls to diagnostic_count_error.
+
 2002-06-04  Gabriel Dos Reis  <gdr@codesourcery.com>
 
        * bad.c (ffebad_start_): Adjust call to count_error.
index e30101f..21fa487 100644 (file)
@@ -203,7 +203,7 @@ ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev,
       if ((ffebad_severity_ != FFEBAD_severityPEDANTIC)
          || !flag_pedantic_errors)
        {
-         if (!diagnostic_count_error (global_dc, DK_WARNING))
+         if (!diagnostic_count_diagnostic (global_dc, DK_WARNING))
            {                   /* User wants no warnings. */
              ffebad_is_temp_inhibited_ = TRUE;
              return FALSE;
@@ -215,7 +215,7 @@ ffebad_start_ (bool lex_override, ffebad errnum, ffebadSeverity sev,
     case FFEBAD_severityWEIRD:
     case FFEBAD_severitySEVERE:
     case FFEBAD_severityDISASTER:
-      diagnostic_count_error (global_dc, DK_ERROR);
+      diagnostic_count_diagnostic (global_dc, DK_ERROR);
       break;
 
     default:
index cc4f67b..c6b9d5f 100644 (file)
@@ -3416,7 +3416,7 @@ error_with_ivar (message, decl, rawdecl)
      tree decl;
      tree rawdecl;
 {
-  diagnostic_count_error (global_dc, DK_ERROR);
+  diagnostic_count_diagnostic (global_dc, DK_ERROR);
 
   diagnostic_report_current_function (global_dc);
 
@@ -6895,7 +6895,7 @@ warn_with_method (message, mtype, method)
      int mtype;
      tree method;
 {
-  if (!diagnostic_count_error (global_dc, DK_WARNING))
+  if (!diagnostic_count_diagnostic (global_dc, DK_WARNING))
     return;
 
   diagnostic_report_current_function (global_dc);