From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14469 invoked by alias); 17 May 2013 16:16:49 -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 14459 invoked by uid 89); 17 May 2013 16:16:48 -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:16:48 +0000 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r4HGGl2s031516 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 17 May 2013 12:16:47 -0400 Received: from barimba (ovpn-113-158.phx2.redhat.com [10.3.113.158]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r4HGGj0q023670 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Fri, 17 May 2013 12:16:46 -0400 From: Tom Tromey To: gdb-patches@sourceware.org Subject: Re: [PATCH 35/40] fix mi-cmd-var.c References: Date: Fri, 17 May 2013 16:16:00 -0000 In-Reply-To: (Tom Tromey's message of "Thu, 09 May 2013 12:52:47 -0600") Message-ID: <87zjvtr382.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/msg00682.txt.bz2 >>>>> "Tom" == Tom Tromey writes: Tom> This is a stylistic change in mi-cmd-var.c that adds outer cleanups Tom> where needed by the checker. The new version of the checker is a little more robust here, and so I was able to drop a couple parts of this patch. Now the checker understands constructs like: if (cond) cleanup = something(); else cleanup = something_else(); ... do_cleanups (cleanup); Tom * mi/mi-cmd-var.c (varobj_update_one): Add an outer null cleanup. --- gdb/mi/mi-cmd-var.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gdb/mi/mi-cmd-var.c b/gdb/mi/mi-cmd-var.c index 558454e..a069346 100644 --- a/gdb/mi/mi-cmd-var.c +++ b/gdb/mi/mi-cmd-var.c @@ -741,7 +741,6 @@ varobj_update_one (struct varobj *var, enum print_values print_values, int explicit) { struct ui_out *uiout = current_uiout; - struct cleanup *cleanup = NULL; VEC (varobj_update_result) *changes; varobj_update_result *r; int i; @@ -752,9 +751,10 @@ varobj_update_one (struct varobj *var, enum print_values print_values, { char *display_hint; int from, to; + struct cleanup *cleanup = make_cleanup (null_cleanup, NULL); if (mi_version (uiout) > 1) - cleanup = make_cleanup_ui_out_tuple_begin_end (uiout, NULL); + make_cleanup_ui_out_tuple_begin_end (uiout, NULL); ui_out_field_string (uiout, "name", varobj_get_objname (r->varobj)); switch (r->status) @@ -828,8 +828,7 @@ varobj_update_one (struct varobj *var, enum print_values print_values, r->new = NULL; /* Paranoia. */ } - if (mi_version (uiout) > 1) - do_cleanups (cleanup); + do_cleanups (cleanup); } VEC_free (varobj_update_result, changes); } -- 1.8.1.4