From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13561 invoked by alias); 24 Jul 2012 16:11:40 -0000 Received: (qmail 13524 invoked by uid 22791); 24 Jul 2012 16:11:35 -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; Tue, 24 Jul 2012 16:11:13 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1SthhY-0006o3-Ip from Yao_Qi@mentor.com for gdb-patches@sourceware.org; Tue, 24 Jul 2012 09:11:12 -0700 Received: from SVR-ORW-FEM-05.mgc.mentorg.com ([147.34.97.43]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Tue, 24 Jul 2012 09:11:12 -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; Tue, 24 Jul 2012 09:11:11 -0700 From: Yao Qi To: Subject: [PATCH 2/6] allow to suppress more mi notification Date: Tue, 24 Jul 2012 16:11:00 -0000 Message-ID: <1343146252-22558-3-git-send-email-yao@codesourcery.com> In-Reply-To: <1343146252-22558-1-git-send-email-yao@codesourcery.com> References: <1343146252-22558-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/msg00488.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_SUPRESS_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..885d08b 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..0ae867d 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..1c7bf00 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_SUPRESS_NOTIFICATION { MI_SUPPRESS_BREAKPOINT }; +extern int mi_suppress_notification[]; #endif -- 1.7.7.6