From: "Martin Liška" <mliska@suse.cz>
To: Jakub Jelinek <jakub@redhat.com>
Cc: gcc-patches@gcc.gnu.org, Richard Biener <richard.guenther@gmail.com>
Subject: Re: [PATCH] Improve wording for -freport-bug option.
Date: Thu, 27 Jan 2022 11:59:51 +0100 [thread overview]
Message-ID: <015c0eb0-3b9f-83b2-2179-2db2c004d79c@suse.cz> (raw)
In-Reply-To: <20220127104734.GE2646553@tucnak>
[-- Attachment #1: Type: text/plain, Size: 1551 bytes --]
On 1/27/22 11:47, Jakub Jelinek wrote:
> On Thu, Jan 27, 2022 at 11:37:29AM +0100, Martin Liška wrote:
>> @@ -665,12 +667,12 @@ 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 (count > 0)
>> - fnotice (stderr,
>> - ("Please include the complete backtrace "
>> - "with any bug report.\n"));
>> + const char *details
>> + = context->report_bug ? "" : "(by using -freport-bug) ";
>> + const char *ending = count > 0 ? "and the complete backtrace" : "";
>> +
>> + fnotice (stderr, "\nPlease submit a full bug report, "
>> + "with preprocessed source %s%s.\n", details, ending);
>
> This is highly translation unfriendly.
> You need to use separate full strings for all the different cases.
>
> Jakub
>
I see, there's updated version that should be fine.
$ ./xgcc -B. ~/Programming/testcases/pr100019.C -c
...
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
$ ./xgcc -B. ~/Programming/testcases/pr100019.C -c -freport-bug
...
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Preprocessed source stored into /tmp/ccReyRI7.out file, please attach this to your bugreport.
Martin
[-- Attachment #2: 0001-Improve-wording-for-freport-bug-option.patch --]
[-- Type: text/x-patch, Size: 3897 bytes --]
From a438f0b40dfbc4580ce5de2a6fba004d1fdb3930 Mon Sep 17 00:00:00 2001
From: Martin Liska <mliska@suse.cz>
Date: Thu, 27 Jan 2022 11:22:42 +0100
Subject: [PATCH] Improve wording for -freport-bug option.
PR web/104254
gcc/ChangeLog:
* diagnostic.cc (diagnostic_initialize):
Initialize report_bug flag.
(diagnostic_action_after_output):
Explain that -freport-bug option can be used for pre-processed
file creation. Make the message shorter.
(error_recursion): Rename Internal to internal.
* diagnostic.h (struct diagnostic_context): New field.
* opts.cc (common_handle_option): Init the field here.
---
gcc/diagnostic.cc | 22 ++++++++++++++--------
gcc/diagnostic.h | 3 +++
gcc/opts.cc | 4 ++++
3 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/gcc/diagnostic.cc b/gcc/diagnostic.cc
index f5f43d5e9a7..29f21a16afe 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 ccaa33b5817..3ca32979dde 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 f21c821ab2e..7d30deb8e4b 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. */
--
2.34.1
next prev parent reply other threads:[~2022-01-27 10:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-27 10:37 Martin Liška
2022-01-27 10:47 ` Jakub Jelinek
2022-01-27 10:59 ` Martin Liška [this message]
2022-01-27 11:06 ` Jakub Jelinek
2022-01-27 11:38 ` Martin Liška
2022-01-27 11:49 ` Jakub Jelinek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=015c0eb0-3b9f-83b2-2179-2db2c004d79c@suse.cz \
--to=mliska@suse.cz \
--cc=gcc-patches@gcc.gnu.org \
--cc=jakub@redhat.com \
--cc=richard.guenther@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).