From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id YWspFRCfYGphziQAWB0awg (envelope-from ) for ; Wed, 22 Jul 2026 06:44:32 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=mlxnDuZc; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 4871B1E09E; Wed, 22 Jul 2026 06:44:32 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [IPv6:2620:52:6:3111::32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 2BA751E099 for ; Wed, 22 Jul 2026 06:44:31 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EAF734BA2E33 for ; Wed, 22 Jul 2026 10:44:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EAF734BA2E33 Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=mlxnDuZc Received: from CY7PR03CU001.outbound.protection.outlook.com (mail-westcentralusazon11010035.outbound.protection.outlook.com [40.93.198.35]) by sourceware.org (Postfix) with ESMTPS id 251CC4BA2E15 for ; Wed, 22 Jul 2026 10:42:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 251CC4BA2E15 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=amd.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 251CC4BA2E15 Authentication-Results: sourceware.org; arc=pass smtp.remote-ip=40.93.198.35 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1784716971; cv=pass; b=AKgAViFk0NnGuudK3NJ88v2e8GxHiErHCuTti/LYuZCyF9XUqFdf4GOmvKDbIW5Nn7eLfXkLfc8oAxuZ4SnRHlvhzrCFbKceRy2G/JkBruEgrSrHv5yqdsbWTET8B8l3eUmIcioRNrc9SL0bPTxyuGBvjRVlGlpLUnqsaj72qys= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1784716971; c=relaxed/simple; bh=AxMZ3CpOEvVxmFui0GVgjglwrEbOuWlULF1AtLa0T1A=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=SM1boNbWlQqoem0/QgYKDTe4FqKu+k1T5MSi+YWfiL71pMfSNfbpY9JQYETyOrkA85p/YxcMcWnFCqiUVj6Wh0KB33FxzK305/jc2e5fwFdqOeeDrgc3Jn7h81XzU7JTB9jg5IG5EbP0T6AQN/jBxvK5wPF++9/YuhE+yv79wys= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256 header.s=selector1 header.b=mlxnDuZc DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 251CC4BA2E15 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rWCSkGcaIDANEMp5a4HkS7jkzg8u0hKHsh4ONnI6uMMmx7hyusoAz6y30oN/c8Rys4aOuCSVeNuuFEW8ICvot5U1UWhJDJl0ee6WEYK2MJFL+gRAUvPO2NRjDUrAnw3dZcPHLAuzZgGdhFCojdsN4DiDDyPgep0YgfHdKPeRIF32NqKyFYA4K/4uI5G9KEdUoP3PHLhQwdPGRX1AUvlTQ31LY2HWry7UqLJ/cdEQFC4ynqfAU2MtiswrvzmADFMlIs5zGh48+ejRFZqRdLON5k6mXR7c8A3fxc5WSc0HOyNVzs1NjDU4cUzC48ayvI7aowiZaUBy3/6geJVWFzpf9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=pfPvxli7yjaBQ1Vsb/QT7p5V1y5XZySuWwGURxXHldI=; b=EQjxTZavXCs4sg20sfrLjCHOJMNsXcvGLe8IzWKdIFaheB1j0iRaApDyncHmgBIKGSeH+5OuDJ5CrJP96pOojHZ/IDd1R9MjJyqSGwdJ0ZFoX+dpNL/sQY21SGqL8fxQ66M8m+0HFsON+JV/OydXGl6+gTEYs06WQisXANaTzKcXeGFawTXaXUeMfj0mH8jOlRFG4x1rtSQYBbnml+qXMewLkgUBAIvSDTzf/wwETxgd/XTJQO79GKOoc9zmCojILOjxBRbzFV1DJ4qo8Gy3dumhmsOvEdwCDe+RYQf2oqGsHRa71pOmVlonWlYcYa0GtgD2Ox8T/qhWSpRcNVPV1A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=sourceware.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pfPvxli7yjaBQ1Vsb/QT7p5V1y5XZySuWwGURxXHldI=; b=mlxnDuZcfFSUjIyXOrLCigkLydYGShFoOeM6bDupU1Khsx7wh5MrDONczXSppqIlr1X8GNJdYUAU8DjLMSdHNumaLGrPJ7b46HI1sIck04AmlEUCMi7UAQ4wSzPmqa6BdppZ7Pm4EwghGtj4PEppClBIv4qGdG6ND5hm3xcYqlg= Received: from CH0PR03CA0112.namprd03.prod.outlook.com (2603:10b6:610:cd::27) by IA1PR12MB7760.namprd12.prod.outlook.com (2603:10b6:208:418::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.245.10; Wed, 22 Jul 2026 10:42:45 +0000 Received: from CH3PEPF00000013.namprd21.prod.outlook.com (2603:10b6:610:cd:cafe::11) by CH0PR03CA0112.outlook.office365.com (2603:10b6:610:cd::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.245.10 via Frontend Transport; Wed, 22 Jul 2026 10:42:44 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by CH3PEPF00000013.mail.protection.outlook.com (10.167.244.118) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.270.0 via Frontend Transport; Wed, 22 Jul 2026 10:42:44 +0000 Received: from ctr-rack32-mi300x-1.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.41; Wed, 22 Jul 2026 05:42:42 -0500 From: Tankut Baris Aktemur To: CC: Subject: [PATCH v2 05/17] gdb: refactor type_stack::insert methods Date: Wed, 22 Jul 2026 05:41:54 -0500 Message-ID: <20260722-users-aktemur-type-instance-flags-v2-5-d60dcbc2a76f@amd.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260722-users-aktemur-type-instance-flags-v2-0-d60dcbc2a76f@amd.com> References: <20260722-users-aktemur-type-instance-flags-v2-0-d60dcbc2a76f@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-Mailer: b4 0.15.0 Content-Transfer-Encoding: 8bit X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PEPF00000013:EE_|IA1PR12MB7760:EE_ X-MS-Office365-Filtering-Correlation-Id: c1b8ad17-c32d-472c-f823-08dee7ddf6ec X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|82310400026|376014|23010399003|36860700016|22082099003|18002099003|56012099006|11063799006|10067099003; X-Microsoft-Antispam-Message-Info: dvX6pa4jI1HYFR1XKy6q7A9B7YI/E59D/M12Ojhvo3SaP/s4qalkPn+8FOr/dAq9sykQi24OlkOeK3OmGsfMMLz362ofoYVDIQDRnznC+94fI4oPlbDuOMGZNTS4e5vYMo+nY8pvh21sEFCM0A+O4qpMjbE3/ZBDX+4d2PtJ7bZZrn2AnM/bPF5zh5OxoHOBUJfa8ucIefsyWnCfbaQxGzXhHa0yJLVAgU3cdcq8vTUSyz3PLWcTONYDmZBq66E65uuO9QSSUHr3zddKRiigF7m7VJ5u6pFHw14pp9u0TUAquMOEWKeBn4MkimlphEMhH6RqiGJ6NL/xBwxikqmhTv/ENI5a9aU9fdfETK7B5hfV811B2X+Ud6V39RnAGgqsDAk2rvE1PZzetu/mvzJWQj58DUnZz1m2v9PeJfgVn6eH7Eq3qKELvuDmZ9VG+9itsyCTmJbPpdcf6S/zD84aGrBX1uy09msaNwfAXwFAXwVPiyPgfrqQhKzmgQ0ckV9pE1cRd7QYXjNzoyw+il2304UMD4WjRe44cBZol8avb78RUvFDp9g4bK3t1K8Gh2CMnNIWnR233lXk1D6GJQYvErnMt6vgiktKzzmuahzVxzgs9dCObcCp2Dt6zGY8PGci0V4oYdAVq1t2AhvDLSz1juy7KmAsx4OnW4Qv2bhHN4U+DwEzyy/Djuh1jIypyudFprrMzAJGSDwO07IL8jDBsw== X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(82310400026)(376014)(23010399003)(36860700016)(22082099003)(18002099003)(56012099006)(11063799006)(10067099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bGpjNQeoHspMm+Rt4OVj632qRBdjtY0JPQajo1M6K25sApz3pG0amEWg+DKexe+abVvavRE+t4TQaQXkbZXyL0Sxb8kzrDAfztMw6LdVCBrJ1LO/8mrvRKFHcQzuHnfPINgAidYfwLyhSfhal88h5g6YZOsWwqifcZQsl3jAeQcDe+vo7FUri0pMy8ICtWIcnDEsMpfiuzATVDpDjK3hTGAbYQXFLCn7ojAq7ERLZynIa8eVPgzffKo4t97mtnuypTXZTf3xDUD8Z2LjCAp3OUekDSfZi6BMsYPlkcULzyHODRoTEokW//MmavF0Wi2Q+iJcWcVjYiaQB92UDYxaxxLyM5Jbhl/j+weq03BWC7t+sbBJ0cgyn4JNUFc2hVB+2it33jQT6YcbUguqV3xVUkS1hXQh5t0qyip2DoOG034gqjTZWBY9TCESYOG6nz53 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jul 2026 10:42:44.9172 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: c1b8ad17-c32d-472c-f823-08dee7ddf6ec X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CH3PEPF00000013.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7760 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org Clone the 'insert_into' method of struct type_stack into two overloads, one taking a type piece and the other taking an integer, and use the overloads to simplify the 'insert' methods. This is a refactoring. --- gdb/type-stack.c | 27 +++++++-------------------- gdb/type-stack.h | 18 ++++++++++++++++-- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/gdb/type-stack.c b/gdb/type-stack.c index 7e790a003ec..d19854363a2 100644 --- a/gdb/type-stack.c +++ b/gdb/type-stack.c @@ -26,9 +26,6 @@ void type_stack::insert (enum type_pieces tp) { - union type_stack_elt element; - int slot; - gdb_assert (tp == tp_pointer || tp == tp_reference || tp == tp_rvalue_reference || tp == tp_const || tp == tp_volatile || tp == tp_restrict @@ -39,12 +36,9 @@ type_stack::insert (enum type_pieces tp) push this on the top of the stack. */ if (!m_elements.empty () && (tp == tp_const || tp == tp_volatile || tp == tp_restrict)) - slot = 1; + insert_into (1, tp); else - slot = 0; - - element.piece = tp; - insert_into (slot, element); + insert_into (0, tp); } /* See type-stack.h. */ @@ -52,22 +46,15 @@ type_stack::insert (enum type_pieces tp) void type_stack::insert (struct gdbarch *gdbarch, const char *string) { - union type_stack_elt element; - int slot; - /* If there is anything on the stack (we know it will be a tp_pointer), insert the address space qualifier above it. Otherwise, simply push this on the top of the stack. */ - if (!m_elements.empty ()) - slot = 1; - else - slot = 0; + int slot = (!m_elements.empty ()) ? 1 : 0; - element.piece = tp_space_identifier; - insert_into (slot, element); - element.int_val - = address_space_name_to_type_instance_flags (gdbarch, string); - insert_into (slot, element); + insert_into (slot, tp_space_identifier); + insert_into (slot, + address_space_name_to_type_instance_flags (gdbarch, + string)); } /* See type-stack.h. */ diff --git a/gdb/type-stack.h b/gdb/type-stack.h index 318ef715b2e..1be6d569d8e 100644 --- a/gdb/type-stack.h +++ b/gdb/type-stack.h @@ -238,12 +238,26 @@ struct type_stack private: /* A helper function for the insert methods. This does work of - expanding the type stack and inserting the new element, ELEMENT, + expanding the type stack and inserting the new element, TP, into the stack at location SLOT. */ - void insert_into (int slot, union type_stack_elt element) + void insert_into (int slot, enum type_pieces tp) { gdb_assert (slot <= m_elements.size ()); + union type_stack_elt element; + element.piece = tp; + m_elements.insert (m_elements.begin () + slot, element); + } + + /* A helper function for the insert methods. This does work of + expanding the type stack and inserting the new element, VAL, + into the stack at location SLOT. */ + + void insert_into (int slot, int val) + { + gdb_assert (slot <= m_elements.size ()); + union type_stack_elt element; + element.int_val = val; m_elements.insert (m_elements.begin () + slot, element); } -- 2.34.1