public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Tom Tromey <tom@tromey.com>
To: gdb-patches@sourceware.org
Cc: Tom Tromey <tom@tromey.com>
Subject: [RFA 2/9] Remove elements from complaint_series
Date: Tue, 22 May 2018 05:07:00 -0000	[thread overview]
Message-ID: <20180522050704.10845-3-tom@tromey.com> (raw)
In-Reply-To: <20180522050704.10845-1-tom@tromey.com>

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-21  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-21  Tom Tromey  <tom@tromey.com>

	* gdb.gdb/complaints.exp (test_serial_complaints): Remove.
	(test_short_complaints): Update.
---
 gdb/ChangeLog                        |  7 +++++
 gdb/complaints.c                     | 60 ++----------------------------------
 gdb/testsuite/ChangeLog              |  5 +++
 gdb/testsuite/gdb.gdb/complaints.exp | 29 -----------------
 4 files changed, 15 insertions(+), 86 deletions(-)

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/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
 }
-- 
2.13.6

  reply	other threads:[~2018-05-22  5:07 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-22  5:09 [RFA 0/9] Radically simplify the complaint system Tom Tromey
2018-05-22  5:07 ` Tom Tromey [this message]
2018-05-22  5:07 ` [RFA 9/9] Remove struct complaints Tom Tromey
2018-05-22  5:08 ` [RFA 6/9] Remove vcomplaint Tom Tromey
2018-05-22  5:08 ` [RFA 5/9] Remove struct explanation Tom Tromey
2018-05-22  5:09 ` [RFA 4/9] Remove symfile_complaints Tom Tromey
2018-05-22  5:09 ` [RFA 8/9] Remove struct complain Tom Tromey
2018-05-22  5:09 ` [RFA 1/9] Remove internal_complaint Tom Tromey
2018-05-22  5:50 ` [RFA 3/9] Remove "noisy" parameter from clear_complaints Tom Tromey
2018-05-22  7:01 ` [RFA 7/9] Remove file and line from struct complain Tom Tromey
2018-05-23 14:49 ` [RFA 0/9] Radically simplify the complaint system Pedro Alves
2018-05-23 15:08   ` Tom Tromey
2018-05-23 17:44     ` Pedro Alves
2018-05-28 10:41       ` Tom Tromey
2018-05-28 10:41         ` Tom Tromey
2018-05-28 19:37         ` Pedro Alves
2018-05-28 22:19           ` Tom Tromey
2018-05-29 16:05             ` Pedro Alves
2018-06-04 20:25 ` Possible regression on gdb.gdb/complaints.exp (was: Re: [RFA 0/9] Radically simplify the complaint system) Sergio Durigan Junior
2018-06-04 21:38   ` Possible regression on gdb.gdb/complaints.exp Tom Tromey
2018-06-04 23:29     ` Sergio Durigan Junior

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=20180522050704.10845-3-tom@tromey.com \
    --to=tom@tromey.com \
    --cc=gdb-patches@sourceware.org \
    /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).