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
+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:
diagnostic_starter (context) = default_diagnostic_starter;
diagnostic_finalizer (context) = default_diagnostic_finalizer;
+ context->warnings_are_errors_message = warnings_are_errors;
}
void
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
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;
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);
/* 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:
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 *));
+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.
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;
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:
tree decl;
tree rawdecl;
{
- diagnostic_count_error (global_dc, DK_ERROR);
+ diagnostic_count_diagnostic (global_dc, DK_ERROR);
diagnostic_report_current_function (global_dc);
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);