diff --git a/gdb/ChangeLog b/gdb/ChangeLog index da94c031d7..40564810a5 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +2018-05-23 Tom Tromey + + * complaints.c (enum complaint_series): Remove FIRST_MESSAGE, + SUBSEQUENT_MESSAGE. + (vcomplaint, clear_complaints): Update. + (symfile_explanations): Remove some messages. + 2018-05-23 Tom Tromey * complaints.c (internal_complaint): Remove. diff --git a/gdb/complaints.c b/gdb/complaints.c index 9e5df396eb..71d36e6326 100644 --- a/gdb/complaints.c +++ b/gdb/complaints.c @@ -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; } diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 24955f6530..5650461909 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-05-23 Tom Tromey + + * gdb.gdb/complaints.exp (test_serial_complaints): Remove. + (test_short_complaints): Update. + 2018-05-22 Pedro Alves * gdb.base/remote.exp: Only gdb_start after compiling the diff --git a/gdb/testsuite/gdb.gdb/complaints.exp b/gdb/testsuite/gdb.gdb/complaints.exp index 56c3003b53..1d532b7fd6 100644 --- a/gdb/testsuite/gdb.gdb/complaints.exp +++ b/gdb/testsuite/gdb.gdb/complaints.exp @@ -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 }