Remove elements from complaint_series
I couldn't find a way to get complaints to use a couple of cases, and the difference between the actual printed output for these cases was minimal anyway. So, this patch removes a couple of constants from complaint_series, plus the associated code. gdb/ChangeLog 2018-05-23 Tom Tromey <tom@tromey.com> * complaints.c (enum complaint_series): Remove FIRST_MESSAGE, SUBSEQUENT_MESSAGE. (vcomplaint, clear_complaints): Update. (symfile_explanations): Remove some messages. gdb/testsuite/ChangeLog 2018-05-23 Tom Tromey <tom@tromey.com> * gdb.gdb/complaints.exp (test_serial_complaints): Remove. (test_short_complaints): Update.
This commit is contained in:
parent
2b9496b2b4
commit
43ba33c768
|
@ -1,3 +1,10 @@
|
|||
2018-05-23 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* complaints.c (enum complaint_series): Remove FIRST_MESSAGE,
|
||||
SUBSEQUENT_MESSAGE.
|
||||
(vcomplaint, clear_complaints): Update.
|
||||
(symfile_explanations): Remove some messages.
|
||||
|
||||
2018-05-23 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* complaints.c (internal_complaint): Remove.
|
||||
|
|
|
@ -29,17 +29,9 @@ enum complaint_series {
|
|||
/* Isolated self explanatory message. */
|
||||
ISOLATED_MESSAGE,
|
||||
|
||||
/* First message of a series, includes an explanation. */
|
||||
FIRST_MESSAGE,
|
||||
|
||||
/* First message of a series, but does not need to include any sort
|
||||
of explanation. */
|
||||
SHORT_FIRST_MESSAGE,
|
||||
|
||||
/* Subsequent message of a series that needs no explanation (the
|
||||
user already knows we have a problem so we can just state our
|
||||
piece). */
|
||||
SUBSEQUENT_MESSAGE
|
||||
};
|
||||
|
||||
/* Structure to manage complaints about symbol file contents. */
|
||||
|
@ -82,8 +74,6 @@ static struct complain complaint_sentinel;
|
|||
|
||||
static struct explanation symfile_explanations[] = {
|
||||
{ "During symbol reading, ", "." },
|
||||
{ "During symbol reading...", "..."},
|
||||
{ "", "..."},
|
||||
{ "", "..."},
|
||||
{ NULL, NULL }
|
||||
};
|
||||
|
@ -169,10 +159,7 @@ vcomplaint (struct complaints **c, const char *file,
|
|||
if (complaint->counter > stop_whining)
|
||||
return;
|
||||
|
||||
if (info_verbose)
|
||||
series = SUBSEQUENT_MESSAGE;
|
||||
else
|
||||
series = complaints->series;
|
||||
series = complaints->series;
|
||||
|
||||
/* Pass 'fmt' instead of 'complaint->fmt' to printf-like callees
|
||||
from here on, to avoid "format string is not a string literal"
|
||||
|
@ -194,16 +181,13 @@ vcomplaint (struct complaints **c, const char *file,
|
|||
{
|
||||
std::string msg = string_vprintf (fmt, args);
|
||||
wrap_here ("");
|
||||
if (series != SUBSEQUENT_MESSAGE)
|
||||
begin_line ();
|
||||
begin_line ();
|
||||
/* XXX: i18n */
|
||||
fprintf_filtered (gdb_stderr, "%s%s%s",
|
||||
complaints->explanation[series].prefix,
|
||||
msg.c_str (),
|
||||
complaints->explanation[series].postfix);
|
||||
/* Force a line-break after any isolated message. For the
|
||||
other cases, clear_complaints() takes care of any missing
|
||||
trailing newline, the wrap_here() is just a hint. */
|
||||
/* Force a line-break after any isolated message. */
|
||||
if (series == ISOLATED_MESSAGE)
|
||||
/* It would be really nice to use begin_line() here.
|
||||
Unfortunately that function doesn't track GDB_STDERR and
|
||||
|
@ -215,19 +199,6 @@ vcomplaint (struct complaints **c, const char *file,
|
|||
}
|
||||
}
|
||||
|
||||
switch (series)
|
||||
{
|
||||
case ISOLATED_MESSAGE:
|
||||
break;
|
||||
case FIRST_MESSAGE:
|
||||
complaints->series = SUBSEQUENT_MESSAGE;
|
||||
break;
|
||||
case SUBSEQUENT_MESSAGE:
|
||||
case SHORT_FIRST_MESSAGE:
|
||||
complaints->series = SUBSEQUENT_MESSAGE;
|
||||
break;
|
||||
}
|
||||
|
||||
/* If GDB dumps core, we'd like to see the complaints first.
|
||||
Presumably GDB will not be sending so many complaints that this
|
||||
becomes a performance hog. */
|
||||
|
@ -264,33 +235,8 @@ clear_complaints (struct complaints **c, int less_verbose, int noisy)
|
|||
p->counter = 0;
|
||||
}
|
||||
|
||||
switch (complaints->series)
|
||||
{
|
||||
case FIRST_MESSAGE:
|
||||
/* Haven't yet printed anything. */
|
||||
break;
|
||||
case SHORT_FIRST_MESSAGE:
|
||||
/* Haven't yet printed anything. */
|
||||
break;
|
||||
case ISOLATED_MESSAGE:
|
||||
/* The code above, always forces a line-break. No need to do it
|
||||
here. */
|
||||
break;
|
||||
case SUBSEQUENT_MESSAGE:
|
||||
/* It would be really nice to use begin_line() here.
|
||||
Unfortunately that function doesn't track GDB_STDERR and
|
||||
consequently will sometimes supress a line when it
|
||||
shouldn't. */
|
||||
fputs_unfiltered ("\n", gdb_stderr);
|
||||
break;
|
||||
default:
|
||||
internal_error (__FILE__, __LINE__, _("bad switch"));
|
||||
}
|
||||
|
||||
if (!less_verbose)
|
||||
complaints->series = ISOLATED_MESSAGE;
|
||||
else if (!noisy)
|
||||
complaints->series = FIRST_MESSAGE;
|
||||
else
|
||||
complaints->series = SHORT_FIRST_MESSAGE;
|
||||
}
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2018-05-23 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* gdb.gdb/complaints.exp (test_serial_complaints): Remove.
|
||||
(test_short_complaints): Update.
|
||||
|
||||
2018-05-22 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* gdb.base/remote.exp: Only gdb_start after compiling the
|
||||
|
|
|
@ -85,29 +85,6 @@ proc test_initial_complaints { } {
|
|||
return 0
|
||||
}
|
||||
|
||||
proc test_serial_complaints { } {
|
||||
gdb_test_exact "call clear_complaints (&symfile_complaints, 1, 0)" "" "serial start"
|
||||
|
||||
# Prime the system
|
||||
test_complaint \
|
||||
"call complaint_internal (&symfile_complaints, \"serial line 1\")" \
|
||||
"During symbol reading...serial line 1..." \
|
||||
"serial line 1"
|
||||
|
||||
# Add a second complaint, expect it
|
||||
test_complaint \
|
||||
"call complaint_internal (&symfile_complaints, \"serial line 2\")" \
|
||||
"serial line 2..." \
|
||||
"serial line 2"
|
||||
|
||||
gdb_test_stdio "call clear_complaints (&symfile_complaints, 1, 0)" \
|
||||
"\r\n" \
|
||||
"" \
|
||||
"serial end"
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# For short complaints, all are the same
|
||||
|
||||
proc test_short_complaints { } {
|
||||
|
@ -125,11 +102,6 @@ proc test_short_complaints { } {
|
|||
"short line 2..." \
|
||||
"short line 2"
|
||||
|
||||
gdb_test_stdio "call clear_complaints (&symfile_complaints, 1, 0)" \
|
||||
"\r\n" \
|
||||
"" \
|
||||
"short end"
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -173,7 +145,6 @@ proc test_empty_complaints { } {
|
|||
|
||||
do_self_tests captured_command_loop {
|
||||
test_initial_complaints
|
||||
test_serial_complaints
|
||||
test_short_complaints
|
||||
test_empty_complaints
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue