From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21847 invoked by alias); 27 Jul 2012 14:06:22 -0000 Received: (qmail 21686 invoked by uid 22791); 27 Jul 2012 14:06:19 -0000 X-SWARE-Spam-Status: No, hits=-4.3 required=5.0 tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL X-Spam-Check-By: sourceware.org Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 27 Jul 2012 14:06:05 +0000 Received: from svr-orw-exc-10.mgc.mentorg.com ([147.34.98.58]) by relay1.mentorg.com with esmtp id 1SulB7-0006Lj-BV from Yao_Qi@mentor.com for gdb-patches@sourceware.org; Fri, 27 Jul 2012 07:06:05 -0700 Received: from SVR-ORW-FEM-05.mgc.mentorg.com ([147.34.97.43]) by SVR-ORW-EXC-10.mgc.mentorg.com with Microsoft SMTPSVC(6.0.3790.4675); Fri, 27 Jul 2012 07:06:05 -0700 Received: from qiyao.dyndns.org.dyndns.org (147.34.91.1) by svr-orw-fem-05.mgc.mentorg.com (147.34.97.43) with Microsoft SMTP Server id 14.1.289.1; Fri, 27 Jul 2012 07:05:54 -0700 From: Yao Qi To: Subject: [PATCH 2/7] allow to suppress more mi notification Date: Fri, 27 Jul 2012 14:06:00 -0000 Message-ID: <1343397901-15051-3-git-send-email-yao@codesourcery.com> In-Reply-To: <1343397901-15051-1-git-send-email-yao@codesourcery.com> References: <1343397901-15051-1-git-send-email-yao@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-07/txt/msg00677.txt.bz2 Hi, 'mi_suppress_breakpoint_notifications' is used to suppress mi breakpoint notifications. This patch is to change this variable to an array so that multiple mi notifications can be suppressed. The following patch will use it to suppress other MI notifications. gdb: 2012-07-24 Yao Qi * mi/mi-interp.c: Remove mi_suppress_breakpoint_notifications. Define array mi_suppress_notification. (mi_breakpoint_created): Update. (mi_breakpoint_deleted): Likewise. (mi_breakpoint_modified): Likewise. * mi/mi-main.c (mi_cmd_execute): Likewise. * mi/mi-main.h (enum mi_suppress_notification): New. --- gdb/mi/mi-interp.c | 12 ++++++------ gdb/mi/mi-main.c | 6 ++++-- gdb/mi/mi-main.h | 4 +++- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c index b487136..7a2c088 100644 --- a/gdb/mi/mi-interp.c +++ b/gdb/mi/mi-interp.c @@ -501,10 +501,10 @@ mi_about_to_proceed (void) mi_proceeded = 1; } -/* When non-zero, no MI notifications will be emitted in - response to breakpoint change observers. */ +/* When the element is non-zero, no MI notifications will be emitted in + response to the corresponding observers. */ -int mi_suppress_breakpoint_notifications = 0; +int mi_suppress_notification[] = { 0 }; /* Emit notification about a created breakpoint. */ @@ -515,7 +515,7 @@ mi_breakpoint_created (struct breakpoint *b) struct ui_out *mi_uiout = interp_ui_out (top_level_interpreter ()); volatile struct gdb_exception e; - if (mi_suppress_breakpoint_notifications) + if (mi_suppress_notification[mi_suppress_breakpoint]) return; if (b->number <= 0) @@ -546,7 +546,7 @@ mi_breakpoint_deleted (struct breakpoint *b) { struct mi_interp *mi = top_level_interpreter_data (); - if (mi_suppress_breakpoint_notifications) + if (mi_suppress_notification[mi_suppress_breakpoint]) return; if (b->number <= 0) @@ -569,7 +569,7 @@ mi_breakpoint_modified (struct breakpoint *b) struct ui_out *mi_uiout = interp_ui_out (top_level_interpreter ()); volatile struct gdb_exception e; - if (mi_suppress_breakpoint_notifications) + if (mi_suppress_notification[mi_suppress_breakpoint]) return; if (b->number <= 0) diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index dfb4892..7ff8ab0 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -2099,8 +2099,10 @@ mi_cmd_execute (struct mi_parse *parse) if (strncmp (parse->command, "break-", sizeof ("break-") - 1 ) == 0) { - make_cleanup_restore_integer (&mi_suppress_breakpoint_notifications); - mi_suppress_breakpoint_notifications = 1; + int *p = &mi_suppress_notification[mi_suppress_breakpoint]; + + make_cleanup_restore_integer (p); + *p = 1; } if (parse->cmd->argv_func != NULL) diff --git a/gdb/mi/mi-main.h b/gdb/mi/mi-main.h index beac2cd..9e185d7 100644 --- a/gdb/mi/mi-main.h +++ b/gdb/mi/mi-main.h @@ -32,7 +32,9 @@ extern char *current_token; extern int running_result_record_printed; extern int mi_proceeded; -extern int mi_suppress_breakpoint_notifications; + +enum mi_suppress_notification { mi_suppress_breakpoint }; +extern int mi_suppress_notification[]; #endif -- 1.7.7.6