Skip to content
Snippets Groups Projects
Commit b0932b2f authored by dj's avatar dj
Browse files

* common.opt (fdiagnostics-show-option): No variable is needed.

* diagnostic.h (diagnostic_context): Add show_option_requested flag.
* diagnostic.c (diagnostic_initialize): Initialize show_option_requested.
(diagnostic_report_diagnostic): Test for enabled diagnostics here.
Save and restore original message format.  Use flag in context
instead of global.
(warning): Don't test for enabled warnings here.
* opts.c (common_handle_option): Handle -fdiagnostics-show-option
here.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@99204 138bc75d-0d04-0410-961f-82ee72b054a4
parent fd158959
No related branches found
No related tags found
No related merge requests found
2005-05-03 DJ Delorie <dj@redhat.com>
* common.opt (fdiagnostics-show-option): No variable is needed.
* diagnostic.h (diagnostic_context): Add show_option_requested flag.
* diagnostic.c (diagnostic_initialize): Initialize show_option_requested.
(diagnostic_report_diagnostic): Test for enabled diagnostics here.
Save and restore original message format. Use flag in context
instead of global.
(warning): Don't test for enabled warnings here.
* opts.c (common_handle_option): Handle -fdiagnostics-show-option
here.
2005-05-04 Kelley Cook <kcook@gcc.gnu.org> 2005-05-04 Kelley Cook <kcook@gcc.gnu.org>
   
* config/m32r/xm-m32r.h: Don't define HOST_WORDS_BIG_ENDIAN. * config/m32r/xm-m32r.h: Don't define HOST_WORDS_BIG_ENDIAN.
......
...@@ -337,7 +337,7 @@ Common Joined RejectNegative ...@@ -337,7 +337,7 @@ Common Joined RejectNegative
-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics -fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
fdiagnostics-show-option fdiagnostics-show-option
Common Var(diagnostics_show_options) Common
Amend appropriate diagnostic messages with the command line option that controls them. Amend appropriate diagnostic messages with the command line option that controls them.
fdump- fdump-
......
...@@ -102,6 +102,7 @@ diagnostic_initialize (diagnostic_context *context) ...@@ -102,6 +102,7 @@ diagnostic_initialize (diagnostic_context *context)
memset (context->diagnostic_count, 0, sizeof context->diagnostic_count); memset (context->diagnostic_count, 0, sizeof context->diagnostic_count);
context->issue_warnings_are_errors_message = true; context->issue_warnings_are_errors_message = true;
context->warning_as_error_requested = false; context->warning_as_error_requested = false;
context->show_option_requested = false;
context->abort_on_error = false; context->abort_on_error = false;
context->internal_error = NULL; context->internal_error = NULL;
diagnostic_starter (context) = default_diagnostic_starter; diagnostic_starter (context) = default_diagnostic_starter;
...@@ -331,11 +332,17 @@ diagnostic_report_diagnostic (diagnostic_context *context, ...@@ -331,11 +332,17 @@ diagnostic_report_diagnostic (diagnostic_context *context,
error_recursion (context); error_recursion (context);
} }
if (diagnostic->option_index
&& ! option_enabled (diagnostic->option_index))
return;
context->lock++; context->lock++;
if (diagnostic_count_diagnostic (context, diagnostic)) if (diagnostic_count_diagnostic (context, diagnostic))
{ {
if (diagnostics_show_options && diagnostic->option_index) const char *saved_format_spec = diagnostic->message.format_spec;
if (context->show_option_requested && diagnostic->option_index)
diagnostic->message.format_spec diagnostic->message.format_spec
= ACONCAT ((diagnostic->message.format_spec, = ACONCAT ((diagnostic->message.format_spec,
" [", cl_options[diagnostic->option_index].opt_text, "]", NULL)); " [", cl_options[diagnostic->option_index].opt_text, "]", NULL));
...@@ -347,6 +354,7 @@ diagnostic_report_diagnostic (diagnostic_context *context, ...@@ -347,6 +354,7 @@ diagnostic_report_diagnostic (diagnostic_context *context,
(*diagnostic_finalizer (context)) (context, diagnostic); (*diagnostic_finalizer (context)) (context, diagnostic);
pp_flush (context->printer); pp_flush (context->printer);
diagnostic_action_after_output (context, diagnostic); diagnostic_action_after_output (context, diagnostic);
diagnostic->message.format_spec = saved_format_spec;
} }
context->lock--; context->lock--;
...@@ -424,9 +432,6 @@ warning (int opt, const char *msgid, ...) ...@@ -424,9 +432,6 @@ warning (int opt, const char *msgid, ...)
diagnostic_info diagnostic; diagnostic_info diagnostic;
va_list ap; va_list ap;
if (opt && ! option_enabled (opt))
return;
va_start (ap, msgid); va_start (ap, msgid);
diagnostic_set_info (&diagnostic, msgid, &ap, input_location, DK_WARNING); diagnostic_set_info (&diagnostic, msgid, &ap, input_location, DK_WARNING);
diagnostic.option_index = opt; diagnostic.option_index = opt;
......
...@@ -73,6 +73,10 @@ struct diagnostic_context ...@@ -73,6 +73,10 @@ struct diagnostic_context
/* True if it has been requested that warnings be treated as errors. */ /* True if it has been requested that warnings be treated as errors. */
bool warning_as_error_requested; bool warning_as_error_requested;
/* True if we should print the command line option which controls
each diagnostic, if known. */
bool show_option_requested;
/* True if we should raise a SIGABRT on errors. */ /* True if we should raise a SIGABRT on errors. */
bool abort_on_error; bool abort_on_error;
......
...@@ -818,6 +818,10 @@ common_handle_option (size_t scode, const char *arg, int value) ...@@ -818,6 +818,10 @@ common_handle_option (size_t scode, const char *arg, int value)
return 0; return 0;
break; break;
case OPT_fdiagnostics_show_option:
global_dc->show_option_requested = true;
break;
case OPT_fdump_: case OPT_fdump_:
if (!dump_switch_p (arg)) if (!dump_switch_p (arg))
return 0; return 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment