From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 3rSSLsGDTWIzMgAAWB0awg (envelope-from ) for ; Wed, 06 Apr 2022 08:12:49 -0400 Received: by simark.ca (Postfix, from userid 112) id B595B1F344; Wed, 6 Apr 2022 08:12:49 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 37F761E787 for ; Wed, 6 Apr 2022 08:12:49 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E70DB3858427 for ; Wed, 6 Apr 2022 12:12:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E70DB3858427 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1649247168; bh=DjVcVmw71m+fbTT51RbNHHw2eRlkiaCUfPsDVfPYcQs=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=eYL701ugDlSjZA+O/4UT+G1x3rRzufb15EnOkpbs+Y/begrw5jmqYmjl/9EyTRATK LX7UjLBbnyViYfmfqOJMz/zLKX6z+lqveK8FH+GJ9/IlI1cQGvSir2YAn6MVkb6DB5 rWpPVBpTWqEdF5ZF6widu9G8xjcAlyTEU6ArWHEM= Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 5EEE73857C41 for ; Wed, 6 Apr 2022 12:05:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5EEE73857C41 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-284-lEjQ4N14NyCeW41qcGrR4A-1; Wed, 06 Apr 2022 08:05:21 -0400 X-MC-Unique: lEjQ4N14NyCeW41qcGrR4A-1 Received: by mail-wr1-f71.google.com with SMTP id s13-20020adfa28d000000b00205e049cff2so427140wra.17 for ; Wed, 06 Apr 2022 05:05:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=DjVcVmw71m+fbTT51RbNHHw2eRlkiaCUfPsDVfPYcQs=; b=7KfIl5YUrXwGV7H+HBENV1BJbLcG7YLf/BYNX3EtEUh92QwXa3yQ4nCz9N14fjOmQi A9bDDiF72ak/E30MxoZW8bl96BahXe+jZAxa6lKZg8Fzm4rj5qsJvpSIpjSaOsWhhbVU ldcS6h8Copb2qB+T4MK5E+KCv+GT3f9XZ9nMTJvUBR2Uy9G9okWCxEdroH7s4QXdcsts zNUmNPvcHOYCYj/tjkrDSpzKOFlRJLCUczw0QozL/T3y/TJXJwszx4KHYA4epCbcnV9R hoQogE/M+cz1irBn0D9JFit/d+mr6M12HdwQX1T9IiW1IF/G3nV92I8SQZUdblMBKYmq bc8A== X-Gm-Message-State: AOAM532W0hl7lqbPLnyRqihCtOnX5jNncMBopq1WdDAi0rqeSQPvXDH9 /dx92aX3oKNTSEbS5qgs1rcSKXSscF5IOenbmIYcJzIdVKBtxJkrm9ZuU4M6Ww08fmFtXT16JZb BymzIqS7eIvmFLtoxH6/M7DrXgA6JRiezuMCLoPuhnVMuTwzkTyFW6/GJdpVbv5fBkHMrG7WcPw == X-Received: by 2002:a05:600c:4f42:b0:38c:21:fffe with SMTP id m2-20020a05600c4f4200b0038c0021fffemr7192293wmq.63.1649246720541; Wed, 06 Apr 2022 05:05:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2hGyDzYlo3IyFwuY6svWCDccZpisJeFSEa8OKDqMMtmD+2StTEFpHyg6CopuES1wGvsSg+Q== X-Received: by 2002:a05:600c:4f42:b0:38c:21:fffe with SMTP id m2-20020a05600c4f4200b0038c0021fffemr7192263wmq.63.1649246720194; Wed, 06 Apr 2022 05:05:20 -0700 (PDT) Received: from localhost (host86-169-131-113.range86-169.btcentralplus.com. [86.169.131.113]) by smtp.gmail.com with ESMTPSA id u7-20020a05600c19c700b0038cc9aac1a3sm5280594wmq.23.2022.04.06.05.05.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 05:05:19 -0700 (PDT) To: gdb-patches@sourceware.org Subject: [PATCHv2 14/16] gdb: convert reggroup to a C++ class with constructor, etc Date: Wed, 6 Apr 2022 13:04:47 +0100 Message-Id: <4af22c5f3aca2b182165691aff8a1dafb7e5995d.1649246539.git.aburgess@redhat.com> X-Mailer: git-send-email 2.25.4 In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII"; x-default=true 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: , From: Andrew Burgess via Gdb-patches Reply-To: Andrew Burgess Cc: Andrew Burgess Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" Convert the 'struct reggroup' into a real class, with a constructor and getter methods. There should be no user visible changes after this commit. --- gdb/reggroups.c | 48 ++++++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/gdb/reggroups.c b/gdb/reggroups.c index 2888704f2d2..dfae60773bb 100644 --- a/gdb/reggroups.c +++ b/gdb/reggroups.c @@ -32,18 +32,33 @@ struct reggroup { - const char *name; - enum reggroup_type type; + /* Create a new register group object. The NAME is not owned by the new + reggroup object, so must outlive the object. */ + reggroup (const char *name, enum reggroup_type type) + : m_name (name), + m_type (type) + { /* Nothing. */ } + + /* Return the name for this register group. */ + const char *name () const + { return m_name; } + + /* Return the type of this register group. */ + enum reggroup_type type () const + { return m_type; } + +private: + /* The name of this register group. */ + const char *m_name; + + /* The type of this register group. */ + enum reggroup_type m_type; }; const reggroup * reggroup_new (const char *name, enum reggroup_type type) { - struct reggroup *group = XNEW (struct reggroup); - - group->name = name; - group->type = type; - return group; + return new reggroup (name, type); } /* See reggroups.h. */ @@ -52,12 +67,9 @@ const reggroup * reggroup_gdbarch_new (struct gdbarch *gdbarch, const char *name, enum reggroup_type type) { - struct reggroup *group = GDBARCH_OBSTACK_ZALLOC (gdbarch, - struct reggroup); - - group->name = gdbarch_obstack_strdup (gdbarch, name); - group->type = type; - return group; + name = gdbarch_obstack_strdup (gdbarch, name); + return obstack_new (gdbarch_obstack (gdbarch), + name, type); } /* Register group attributes. */ @@ -65,13 +77,13 @@ reggroup_gdbarch_new (struct gdbarch *gdbarch, const char *name, const char * reggroup_name (const struct reggroup *group) { - return group->name; + return group->name (); } enum reggroup_type reggroup_type (const struct reggroup *group) { - return group->type; + return group->type (); } /* A container holding all the register groups for a particular @@ -194,7 +206,7 @@ reggroup_find (struct gdbarch *gdbarch, const char *name) { for (const struct reggroup *group : gdbarch_reggroups (gdbarch)) { - if (strcmp (name, reggroup_name (group)) == 0) + if (strcmp (name, group->name ()) == 0) return group; } return NULL; @@ -212,12 +224,12 @@ reggroups_dump (struct gdbarch *gdbarch, struct ui_file *file) for (const struct reggroup *group : gdbarch_reggroups (gdbarch)) { /* Group name. */ - const char *name = reggroup_name (group); + const char *name = group->name (); /* Group type. */ const char *type; - switch (reggroup_type (group)) + switch (group->type ()) { case USER_REGGROUP: type = "user"; -- 2.25.4