From patchwork Wed Jan 23 15:21:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pedro Alves X-Patchwork-Id: 31187 Received: (qmail 65267 invoked by alias); 23 Jan 2019 15:21:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 65172 invoked by uid 89); 23 Jan 2019 15:21:47 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2052 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 23 Jan 2019 15:21:45 +0000 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B52DF394D3F; Wed, 23 Jan 2019 15:21:44 +0000 (UTC) Received: from localhost.localdomain (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id E2EDE67151; Wed, 23 Jan 2019 15:21:43 +0000 (UTC) From: Pedro Alves To: gdb-patches@sourceware.org Cc: Tom Tromey , Andrew Burgess Subject: [PATCH v3 10/17] Remove cleanup_delete_std_terminate_breakpoint Date: Wed, 23 Jan 2019 15:21:24 +0000 Message-Id: <20190123152131.29893-11-palves@redhat.com> In-Reply-To: <20190123152131.29893-1-palves@redhat.com> References: <20190123152131.29893-1-palves@redhat.com> From: Tom Tromey This removes cleanup_delete_std_terminate_breakpoint, replacing it with a use of SCOPE_EXIT. gdb/ChangeLog: yyyy-mm-dd Tom Tromey Pedro Alves * infcall.c (cleanup_delete_std_terminate_breakpoint): Remove. (call_function_by_hand_dummy): Use SCOPE_EXIT. --- gdb/infcall.c | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/gdb/infcall.c b/gdb/infcall.c index 14b0cbc716..6ca479ac1f 100644 --- a/gdb/infcall.c +++ b/gdb/infcall.c @@ -40,6 +40,7 @@ #include "interps.h" #include "thread-fsm.h" #include +#include "common/scope-exit.h" /* If we can't find a function's name from its address, we print this instead. */ @@ -675,13 +676,6 @@ run_inferior_call (struct call_thread_fsm *sm, return caught_error; } -/* A cleanup function that calls delete_std_terminate_breakpoint. */ -static void -cleanup_delete_std_terminate_breakpoint (void *ignore) -{ - delete_std_terminate_breakpoint (); -} - /* See infcall.h. */ struct value * @@ -727,7 +721,6 @@ call_function_by_hand_dummy (struct value *function, struct frame_id dummy_id; struct frame_info *frame; struct gdbarch *gdbarch; - struct cleanup *terminate_bp_cleanup; ptid_t call_thread_ptid; struct gdb_exception e; char name_buf[RAW_FUNCTION_ADDRESS_SIZE]; @@ -1122,8 +1115,7 @@ call_function_by_hand_dummy (struct value *function, dummy_dtor, dummy_dtor_data); /* Register a clean-up for unwind_on_terminating_exception_breakpoint. */ - terminate_bp_cleanup = make_cleanup (cleanup_delete_std_terminate_breakpoint, - NULL); + SCOPE_EXIT { delete_std_terminate_breakpoint (); }; /* - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - SNIP - If you're looking to implement asynchronous dummy-frames, then @@ -1184,7 +1176,6 @@ call_function_by_hand_dummy (struct value *function, maybe_remove_breakpoints (); - do_cleanups (terminate_bp_cleanup); gdb_assert (retval != NULL); return retval; }