From patchwork Tue May 2 20:49:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 68646 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 574BD385770A for ; Tue, 2 May 2023 20:50:40 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 574BD385770A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1683060640; bh=Nx3TcQbFn+pR1UMBvpvVKfrlv4yso28zqTrnwkGx9A4=; h=To:Cc:Subject:Date:In-Reply-To:References:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=cEJgt1YuABiOcnvKWfm4YPQRlhQneyVb2OLaWOZSQO3ZFFQX1/jofIhgIGPgPngcI e5fEsAdMUiNwMrqBDyYifX5q/4NTMt5ah0gtFMkASzglkQxWInWICVGqTgAe1bxEeI KVyiRsZab1lka/e124lHBZ0Yae3zgJu7uI3856FY= X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from simark.ca (simark.ca [158.69.221.121]) by sourceware.org (Postfix) with ESMTPS id 810AF3858D28 for ; Tue, 2 May 2023 20:50:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 810AF3858D28 Received: from smarchi-efficios.internal.efficios.com (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id F06011E11B; Tue, 2 May 2023 16:50:13 -0400 (EDT) To: gdb-patches@sourceware.org Cc: Simon Marchi Subject: [PATCH 02/30] gdb/mi: make current_token a field of mi_interp Date: Tue, 2 May 2023 16:49:42 -0400 Message-Id: <20230502205011.132151-3-simon.marchi@efficios.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20230502205011.132151-1-simon.marchi@efficios.com> References: <20230502205011.132151-1-simon.marchi@efficios.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3497.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_NONE, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_SOFTFAIL, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Simon Marchi via Gdb-patches From: Simon Marchi Reply-To: Simon Marchi Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" Following the previous patch, I thought it would make sense to make current_token a field of mi_interp. This variable contains the token of the currently handled MI command, like the 222 in: 222-exec-continue I didn't find any bug related to that, it's just a "that seems nicer" cleanup, since the current token is a fundamentally per-interp thing. There should be no user-visible change. Change-Id: Ib52b3c0cba4b7c9d805b432c809692a86e4945ad --- gdb/mi/mi-interp.c | 2 +- gdb/mi/mi-interp.h | 2 ++ gdb/mi/mi-main.c | 17 ++++++++--------- gdb/mi/mi-main.h | 2 -- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c index 7d8dfd830a4f..b791d6b9a2d3 100644 --- a/gdb/mi/mi-interp.c +++ b/gdb/mi/mi-interp.c @@ -968,7 +968,7 @@ mi_on_resume_1 (struct mi_interp *mi, if (!mi->running_result_record_printed && mi->mi_proceeded) { gdb_printf (mi->raw_stdout, "%s^running\n", - current_token ? current_token : ""); + mi->current_token ? mi->current_token : ""); } /* Backwards compatibility. If doing a wildcard resume and there's diff --git a/gdb/mi/mi-interp.h b/gdb/mi/mi-interp.h index eb81cbe6cada..2d3a0013d4b0 100644 --- a/gdb/mi/mi-interp.h +++ b/gdb/mi/mi-interp.h @@ -70,6 +70,8 @@ class mi_interp final : public interp /* Flag indicating that the target has proceeded since the last command was issued. */ int mi_proceeded; + + const char *current_token; }; /* Output the shared object attributes to UIOUT. */ diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index ab9184bc3585..1be5d3becfcf 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -78,7 +78,6 @@ static struct mi_timestamp *current_command_ts; static int do_timings = 0; -char *current_token; /* Few commands would like to know if options like --thread-group were explicitly specified. This variable keeps the current parsed command including all option, and make it possible. */ @@ -147,8 +146,8 @@ mi_cmd_gdb_exit (const char *command, char **argv, int argc) struct mi_interp *mi = (struct mi_interp *) current_interpreter (); /* We have to print everything right here because we never return. */ - if (current_token) - gdb_puts (current_token, mi->raw_stdout); + if (mi->current_token) + gdb_puts (mi->current_token, mi->raw_stdout); gdb_puts ("^exit\n", mi->raw_stdout); mi_out_put (current_uiout, mi->raw_stdout); gdb_flush (mi->raw_stdout); @@ -1794,8 +1793,8 @@ captured_mi_execute_command (struct ui_out *uiout, struct mi_parse *context) if (do_timings) current_command_ts = context->cmd_start; - scoped_restore save_token = make_scoped_restore (¤t_token, - context->token); + scoped_restore save_token + = make_scoped_restore (&mi->current_token, context->token); mi->running_result_record_printed = 0; mi->mi_proceeded = 0; @@ -2178,8 +2177,8 @@ mi_load_progress (const char *section_name, xfree (previous_sect_name); previous_sect_name = xstrdup (section_name); - if (current_token) - gdb_puts (current_token, mi->raw_stdout); + if (mi->current_token) + gdb_puts (mi->current_token, mi->raw_stdout); gdb_puts ("+download", mi->raw_stdout); { ui_out_emit_tuple tuple_emitter (uiout.get (), NULL); @@ -2196,8 +2195,8 @@ mi_load_progress (const char *section_name, if (time_now - last_update > milliseconds (500)) { last_update = time_now; - if (current_token) - gdb_puts (current_token, mi->raw_stdout); + if (mi->current_token) + gdb_puts (mi->current_token, mi->raw_stdout); gdb_puts ("+download", mi->raw_stdout); { ui_out_emit_tuple tuple_emitter (uiout.get (), NULL); diff --git a/gdb/mi/mi-main.h b/gdb/mi/mi-main.h index b9fe295d3306..119bb6111385 100644 --- a/gdb/mi/mi-main.h +++ b/gdb/mi/mi-main.h @@ -34,8 +34,6 @@ extern void mi_print_timing_maybe (struct ui_file *file); extern int mi_async_p (void); -extern char *current_token; - struct mi_suppress_notification { /* Breakpoint notification suppressed? */