From patchwork Tue May 22 05:06:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 27386 Received: (qmail 11091 invoked by alias); 22 May 2018 05:07:38 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 5017 invoked by uid 89); 22 May 2018 05:07:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Prime, complain, 1737 X-HELO: gateway33.websitewelcome.com Received: from gateway33.websitewelcome.com (HELO gateway33.websitewelcome.com) (192.185.145.216) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 22 May 2018 05:07:22 +0000 Received: from cm11.websitewelcome.com (cm11.websitewelcome.com [100.42.49.5]) by gateway33.websitewelcome.com (Postfix) with ESMTP id 909557862E for ; Tue, 22 May 2018 00:07:07 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id KzVrfe0dhA3CSKzVrff1md; Tue, 22 May 2018 00:07:07 -0500 X-Authority-Reason: nr=8 Received: from 174-29-44-154.hlrn.qwest.net ([174.29.44.154]:36532 helo=bapiya.Home) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89_1) (envelope-from ) id 1fKzVr-003pV7-Ch; Tue, 22 May 2018 00:07:07 -0500 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [RFA 2/9] Remove elements from complaint_series Date: Mon, 21 May 2018 23:06:57 -0600 Message-Id: <20180522050704.10845-3-tom@tromey.com> In-Reply-To: <20180522050704.10845-1-tom@tromey.com> References: <20180522050704.10845-1-tom@tromey.com> X-BWhitelist: no X-Source-L: No X-Exim-ID: 1fKzVr-003pV7-Ch X-Source-Sender: 174-29-44-154.hlrn.qwest.net (bapiya.Home) [174.29.44.154]:36532 X-Source-Auth: tom+tromey.com X-Email-Count: 3 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes 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 * 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 * 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 }