From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17843 invoked by alias); 17 May 2013 16:19:11 -0000 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 Received: (qmail 17833 invoked by uid 89); 17 May 2013 16:19:10 -0000 X-Spam-SWARE-Status: No, score=-6.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.1 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Fri, 17 May 2013 16:19:10 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r4HGJ7We014048 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 17 May 2013 12:19:08 -0400 Received: from barimba (ovpn-113-158.phx2.redhat.com [10.3.113.158]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id r4HGJ6mP022141 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Fri, 17 May 2013 12:19:07 -0400 From: Tom Tromey To: Yao Qi Cc: Subject: Re: [PATCH 14/40] fix two buglets in breakpoint.c References: <9950c2e4c9891c1b716d6c6d32107ddd7e97c5a5.1368124285.git.tromey@redhat.com> <51905107.5090107@codesourcery.com> <874ne6de39.fsf@fleche.redhat.com> Date: Fri, 17 May 2013 16:19:00 -0000 In-Reply-To: <874ne6de39.fsf@fleche.redhat.com> (Tom Tromey's message of "Mon, 13 May 2013 10:44:26 -0600") Message-ID: <87mwrtr345.fsf@fleche.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2013-05/txt/msg00685.txt.bz2 Tom> It occurred to me much later that you meant that I could lower Tom> the make_cleanup_ui_out_list_begin_end to after the initial return. Tom> I'm sorry for misreading that. Tom> I'll make the change as you suggest. Here is the new version of this patch. Tom * breakpoint.c (output_thread_groups, parse_cmd_to_aexpr): Call do_cleanups earlier. --- gdb/breakpoint.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index f4f9325..2f4d4fc 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -2248,6 +2248,8 @@ parse_cmd_to_aexpr (CORE_ADDR scope, char *cmd) fpieces, nargs, argvec); } + do_cleanups (old_cleanups); + if (ex.reason < 0) { /* If we got here, it means the command could not be parsed to a valid @@ -2256,8 +2258,6 @@ parse_cmd_to_aexpr (CORE_ADDR scope, char *cmd) return NULL; } - do_cleanups (old_cleanups); - /* We have a valid agent expression, return it. */ return aexpr; } @@ -5805,8 +5805,7 @@ output_thread_groups (struct ui_out *uiout, VEC(int) *inf_num, int mi_only) { - struct cleanup *back_to = make_cleanup_ui_out_list_begin_end (uiout, - field_name); + struct cleanup *back_to; int is_mi = ui_out_is_mi_like_p (uiout); int inf; int i; @@ -5816,6 +5815,8 @@ output_thread_groups (struct ui_out *uiout, if (!is_mi && mi_only) return; + back_to = make_cleanup_ui_out_list_begin_end (uiout, field_name); + for (i = 0; VEC_iterate (int, inf_num, i, inf); ++i) { if (is_mi) -- 1.8.1.4