diff options
-rw-r--r-- | gcc/diagnostic.cc | 22 | ||||
-rw-r--r-- | gcc/diagnostic.h | 3 | ||||
-rw-r--r-- | gcc/opts.cc | 4 |
3 files changed, 21 insertions, 8 deletions
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc index f5f43d5..1047204 100644 --- a/gcc/diagnostic.cc +++ b/gcc/diagnostic.cc @@ -219,6 +219,8 @@ diagnostic_initialize (diagnostic_context *context, int n_opts) context->show_line_numbers_p = false; context->min_margin_width = 0; context->show_ruler_p = false; + context->report_bug = false; + if (const char *var = getenv ("GCC_EXTRA_DIAGNOSTIC_OUTPUT")) { if (!strcmp (var, "fixits-v1")) @@ -665,12 +667,16 @@ diagnostic_action_after_output (diagnostic_context *context, if (context->abort_on_error) real_abort (); - fnotice (stderr, "Please submit a full bug report,\n" - "with preprocessed source if appropriate.\n"); + if (context->report_bug) + fnotice (stderr, "\nPlease submit a full bug report, " + "with preprocessed source.\n"); + else + fnotice (stderr, "\nPlease submit a full bug report, " + "with preprocessed source (by using -freport-bug).\n"); + if (count > 0) - fnotice (stderr, - ("Please include the complete backtrace " - "with any bug report.\n")); + fnotice (stderr, "Please include the complete backtrace " + "with any bug report.\n"); fnotice (stderr, "See %s for instructions.\n", bug_report_url); exit (ICE_EXIT_CODE); @@ -1437,8 +1443,8 @@ num_digits (int value) /* Given a partial pathname as input, return another pathname that shares no directory elements with the pathname of __FILE__. This - is used by fancy_abort() to print `Internal compiler error in expr.cc' - instead of `Internal compiler error in ../../GCC/gcc/expr.cc'. */ + is used by fancy_abort() to print `internal compiler error in expr.cc' + instead of `internal compiler error in ../../GCC/gcc/expr.cc'. */ const char * trim_filename (const char *name) @@ -1988,7 +1994,7 @@ error_recursion (diagnostic_context *context) pp_newline_and_flush (context->printer); fnotice (stderr, - "Internal compiler error: Error reporting routines re-entered.\n"); + "internal compiler error: error reporting routines re-entered.\n"); /* Call diagnostic_action_after_output to get the "please submit a bug report" message. */ diff --git a/gcc/diagnostic.h b/gcc/diagnostic.h index ccaa33b..3ca3297 100644 --- a/gcc/diagnostic.h +++ b/gcc/diagnostic.h @@ -340,6 +340,9 @@ struct diagnostic_context source output. */ bool show_ruler_p; + /* True if -freport-bug option is used. */ + bool report_bug; + /* Used to specify additional diagnostic output to be emitted after the rest of the diagnostic. This is for implementing -fdiagnostics-parseable-fixits and GCC_EXTRA_DIAGNOSTIC_OUTPUT. */ diff --git a/gcc/opts.cc b/gcc/opts.cc index f21c821..7d30deb 100644 --- a/gcc/opts.cc +++ b/gcc/opts.cc @@ -3158,6 +3158,10 @@ common_handle_option (struct gcc_options *opts, dc->tabstop = value; break; + case OPT_freport_bug: + dc->report_bug = value; + break; + default: /* If the flag was handled in a standard way, assume the lack of processing here is intentional. */ |