From patchwork Thu Feb 9 21:38:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 64575 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A50023838213 for ; Thu, 9 Feb 2023 21:41:44 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from gproxy3-pub.mail.unifiedlayer.com (gproxy3-pub.mail.unifiedlayer.com [69.89.30.42]) by sourceware.org (Postfix) with ESMTPS id 96CB6385783F for ; Thu, 9 Feb 2023 21:38:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 96CB6385783F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com Received: from cmgw13.mail.unifiedlayer.com (unknown [10.0.90.128]) by progateway5.mail.pro1.eigbox.com (Postfix) with ESMTP id F19B210073828 for ; Thu, 9 Feb 2023 21:38:42 +0000 (UTC) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTP id QEcspHudINX2aQEcsp2uCh; Thu, 09 Feb 2023 21:38:42 +0000 X-Authority-Reason: nr=8 X-Authority-Analysis: v=2.4 cv=NMAQR22g c=1 sm=1 tr=0 ts=63e567e2 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19 a=IkcTkHD0fZMA:10:nop_charset_1 a=m04uMKEZRckA:10:nop_rcvd_month_year a=Qbun_eYptAEA:10:endurance_base64_authed_username_1 a=ur03xR3Ox81Jt2WO-b0A:9 a=QEXdDO2ut3YA:10:nop_charset_2 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Cc:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=lNi7Hss3SC7KGTXJzDQVKXu1Sczw+QfssMKztctoVZ4=; b=cau1UbomqotZKBr/hwZLUUZaCS hLAya2AnbS6/+tOutEPx6+c3MJewzwwIjg0kNcRcMsPIk6EhKbp/bkr/9NRAAz2rx0XtxcvjSSMWm 6P85FKsBDq2Nhvp/rKfebNx1/; Received: from 75-166-130-93.hlrn.qwest.net ([75.166.130.93]:52822 helo=[192.168.0.21]) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1pQEcs-001ZcE-QE for gdb-patches@sourceware.org; Thu, 09 Feb 2023 14:38:42 -0700 From: Tom Tromey Date: Thu, 09 Feb 2023 14:38:44 -0700 Subject: [PATCH 23/47] Turn allocate_computed_value into static "constructor" MIME-Version: 1.0 Message-Id: <20230209-submit-value-fixups-2023-v1-23-55dc2794dbb9@tromey.com> References: <20230209-submit-value-fixups-2023-v1-0-55dc2794dbb9@tromey.com> In-Reply-To: <20230209-submit-value-fixups-2023-v1-0-55dc2794dbb9@tromey.com> To: gdb-patches@sourceware.org X-Mailer: b4 0.12.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 75.166.130.93 X-Source-L: No X-Exim-ID: 1pQEcs-001ZcE-QE X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 75-166-130-93.hlrn.qwest.net ([192.168.0.21]) [75.166.130.93]:52822 X-Source-Auth: tom+tromey.com X-Email-Count: 24 X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-Spam-Status: No, score=-3027.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, JMQ_SPF_NEUTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Sender: "Gdb-patches" This turns allocate_computed_value into a static "constructor" of value. --- gdb/dwarf2/expr.c | 2 +- gdb/dwarf2/loc.c | 2 +- gdb/infrun.c | 2 +- gdb/opencl-lang.c | 2 +- gdb/value.c | 6 +++--- gdb/value.h | 13 ++++++------- gdb/windows-tdep.c | 2 +- 7 files changed, 14 insertions(+), 15 deletions(-) diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c index fc92de85840..ad6cf563562 100644 --- a/gdb/dwarf2/expr.c +++ b/gdb/dwarf2/expr.c @@ -932,7 +932,7 @@ dwarf_expr_context::fetch_result (struct type *type, struct type *subobj_type, piece_closure *c = allocate_piece_closure (this->m_per_cu, this->m_per_objfile, std::move (this->m_pieces), this->m_frame); - retval = allocate_computed_value (subobj_type, + retval = value::allocate_computed (subobj_type, &pieced_value_funcs, c); retval->set_offset (subobj_offset); } diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c index 2e0b4a8b45d..743a0cefd6d 100644 --- a/gdb/dwarf2/loc.c +++ b/gdb/dwarf2/loc.c @@ -1359,7 +1359,7 @@ value_of_dwarf_reg_entry (struct type *type, frame_info_ptr frame, caller_per_cu, caller_per_objfile); - val = allocate_computed_value (type, &entry_data_value_funcs, + val = value::allocate_computed (type, &entry_data_value_funcs, release_value (target_val).release ()); /* Copy the referencing pointer to the new computed value. */ diff --git a/gdb/infrun.c b/gdb/infrun.c index acf93033a86..c45c6b5c802 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -9194,7 +9194,7 @@ siginfo_make_value (struct gdbarch *gdbarch, struct internalvar *var, { struct type *type = gdbarch_get_siginfo_type (gdbarch); - return allocate_computed_value (type, &siginfo_value_funcs, nullptr); + return value::allocate_computed (type, &siginfo_value_funcs, nullptr); } return value::allocate (builtin_type (gdbarch)->builtin_void); diff --git a/gdb/opencl-lang.c b/gdb/opencl-lang.c index c76f948a3ed..25be86ee98a 100644 --- a/gdb/opencl-lang.c +++ b/gdb/opencl-lang.c @@ -304,7 +304,7 @@ create_value (struct gdbarch *gdbarch, struct value *val, enum noside noside, if (VALUE_LVAL (val) != not_lval && !array_has_dups (indices, n)) { struct lval_closure *c = allocate_lval_closure (indices, n, val); - ret = allocate_computed_value (dst_type, &opencl_value_funcs, c); + ret = value::allocate_computed (dst_type, &opencl_value_funcs, c); } else { diff --git a/gdb/value.c b/gdb/value.c index b3ae930f8d6..24cb9c51b8d 100644 --- a/gdb/value.c +++ b/gdb/value.c @@ -863,9 +863,9 @@ allocate_repeat_value (struct type *type, int count) } struct value * -allocate_computed_value (struct type *type, - const struct lval_funcs *funcs, - void *closure) +value::allocate_computed (struct type *type, + const struct lval_funcs *funcs, + void *closure) { struct value *v = value::allocate_lazy (type); diff --git a/gdb/value.h b/gdb/value.h index e12b22e659f..8e408da2bb6 100644 --- a/gdb/value.h +++ b/gdb/value.h @@ -168,6 +168,12 @@ struct value /* Allocate a value and its contents for type TYPE. */ static struct value *allocate (struct type *type); + /* Create a computed lvalue, with type TYPE, function pointers + FUNCS, and closure CLOSURE. */ + static struct value *allocate_computed (struct type *type, + const struct lval_funcs *funcs, + void *closure); + ~value (); DISABLE_COPY_AND_ASSIGN (value); @@ -603,13 +609,6 @@ struct lval_funcs void (*free_closure) (struct value *v); }; -/* Create a computed lvalue, with type TYPE, function pointers FUNCS, - and closure CLOSURE. */ - -extern struct value *allocate_computed_value (struct type *type, - const struct lval_funcs *funcs, - void *closure); - extern struct value *allocate_optimized_out_value (struct type *type); /* Throw an error complaining that the value has been optimized diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c index 741333cf677..893e34d9912 100644 --- a/gdb/windows-tdep.c +++ b/gdb/windows-tdep.c @@ -433,7 +433,7 @@ tlb_make_value (struct gdbarch *gdbarch, struct internalvar *var, void *ignore) if (target_has_stack () && inferior_ptid != null_ptid) { struct type *type = windows_get_tlb_type (gdbarch); - return allocate_computed_value (type, &tlb_value_funcs, NULL); + return value::allocate_computed (type, &tlb_value_funcs, NULL); } return value::allocate (builtin_type (gdbarch)->builtin_void);