From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id MY9IFowKr2k8hCAAWB0awg (envelope-from ) for ; Mon, 09 Mar 2026 13:59:40 -0400 Authentication-Results: simark.ca; dkim=pass (1024-bit key; unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=DG9hRlUh; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=DG9hRlUh; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 53AAC1E0DD; Mon, 09 Mar 2026 13:59:40 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.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 4CDEA1E089 for ; Mon, 09 Mar 2026 13:59:39 -0400 (EDT) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id C89974B9DB6E for ; Mon, 9 Mar 2026 17:59:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C89974B9DB6E Authentication-Results: sourceware.org; dkim=pass (1024-bit key, unprotected) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=DG9hRlUh; dkim=pass (1024-bit key) header.d=arm.com header.i=@arm.com header.a=rsa-sha256 header.s=selector1 header.b=DG9hRlUh Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11013048.outbound.protection.outlook.com [40.107.162.48]) by sourceware.org (Postfix) with ESMTPS id F33974BA23C8 for ; Mon, 9 Mar 2026 17:58:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org F33974BA23C8 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org F33974BA23C8 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.162.48 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1773079102; cv=pass; b=fIoUpC2gCWt2f3s+7AIkxjHhnRoDeVDL7B48pmBWsN7boIdoVUsYpZJWY1xnltDPhuPBKSu14XTUc23yypvdP+OgPHoBmMjVFWUQK2OM0zwhRiM90Gvlvv1H5siXDBL++VBX/torqBSyHJHWiVWAuq6ihvCjFJc4H17jOVJdkug= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1773079102; c=relaxed/simple; bh=srIcxXYHPW/sRuegMZp/uv+qtUbWJDcw/eN4j4FjnyA=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=QLVN3SUd6xOgj7+8uTEk7tR0KEccwHPnTsIue0RFJHM5i1JJ1/jBJQCZeOUhWN5aX+aEhDbC5cc3x653Ww4c+gEducdRr+CprJL7HkCbQ4kAdao0/fA4/dU/gCfYrOFlZRVFkc8OlmPGUWdXAG9JISkaptYpupAzvZcNouR/ZVA= ARC-Authentication-Results: i=3; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F33974BA23C8 ARC-Seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=Egjrzev+tSfSw/njrXcz5GEGNqcs+uJiX4NjdqkrMC+I9VAvrscUVyEDe3gfYV80osJzcaZuszkLYq23yw/enXr1LyQb62AmKla0mglQorkgm3Wh6Nr288kuDjIi1aNAJm4cP2hWuL2I1GkTmOGvW+ktETTDPYGoMO3JdKpTrX+f2Jx2BfhuEdCCvEGprybSilX7AHhNu+88kdbVvioxbHaC/VsuJodV7mTz2zWYav0/N9ND0+lhRhID5gpH98Xft7As9qYs//0grXDuAv017VE8bir66IWhq1BSFlkntJpWZ9KXfSx3nng3zOEpq97vUepWbsF3K2ccDdmNEQcSQg== ARC-Message-Signature: i=2; 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=fpKhqGUG7A6n/bVWGGKCxdasArEcOevFR93nqXfXT8w=; b=yiC/5RIneOc1eLsph7mbDptEvsh88Aae+Otyp0M93jWNotm+jXMVkUVO7vVVVLhJ1n7CV15k38Xim9ezfkIiJG7ZTpK+LNXYUdhjSBTfg2d2ilZIlYyQdd3IhgxJLo9kN7orl/hhv8d5+anM+4RrF2NK4Nc0v7cQ6pRfz9y8Gypgf+emuASYrvDT1xgk0gDGSlGViy9ZvLtQCC3Pe0wnQ6YrDA4nDX0KiA+mNxeSeRL+I+kMIIk/w7/sFUn4QP2UkAo+sxMmVkRzR0/uPmsJx7tx0vC7tg4ugqCpL7jyiXqty9+3hnP1UR3q1S0H0UOdpKvKmsJsG2lsbsRdKIaW8g== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fpKhqGUG7A6n/bVWGGKCxdasArEcOevFR93nqXfXT8w=; b=DG9hRlUhRPltpX8eJwdHFmnJ6of6/MG7m+2DHVC1S7H6nFy6RAC7GcG0crz9zAW9kwH4nkRFSH4W1F2NhET/9Qi9uLuI55/s1ray2mwbg165F+TJZ9F/Nl4vFps9NaID/ywhyni325EEj+9LGZgsK8tBPYRR2HZR6QGoyslMl7Q= Received: from AS4P191CA0028.EURP191.PROD.OUTLOOK.COM (2603:10a6:20b:5d9::20) by GV2PR08MB8343.eurprd08.prod.outlook.com (2603:10a6:150:bb::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.18; Mon, 9 Mar 2026 17:58:15 +0000 Received: from AM3PEPF00009B9D.eurprd04.prod.outlook.com (2603:10a6:20b:5d9:cafe::f1) by AS4P191CA0028.outlook.office365.com (2603:10a6:20b:5d9::20) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.25 via Frontend Transport; Mon, 9 Mar 2026 17:58:10 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 4.158.2.129) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=arm.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 4.158.2.129 as permitted sender) receiver=protection.outlook.com; client-ip=4.158.2.129; helo=outbound-uk1.az.dlp.m.darktrace.com; pr=C Received: from outbound-uk1.az.dlp.m.darktrace.com (4.158.2.129) by AM3PEPF00009B9D.mail.protection.outlook.com (10.167.16.22) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.18 via Frontend Transport; Mon, 9 Mar 2026 17:58:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wkfhDgt7CkiKeCDjaTt53BVJ51+5IUINqAnXespJwSsnt77kIPLFRh/gV7+pDMm5VkwjaBmgzGb2/cIqJPmCZ0tdPqEhnF0tseco5CQuE/61BxDdsPoLhp6eCOJ+iRmwZOwdw+ryVn2LoPVVtGxZb88+uCpFU3YLWC+zXfSISXlwC14kZ+0Q5vpEYD2948TrEkWDcZtgBPM4p4zNxeALNJAMml8QTHKXIxeUIDZ1jCWbQdEQpxvIc5JFeXQOG+sRV8zYvCnn8cFSO/zk/cdrDiEIFQb45mP6iXvqFAq/EGxjnKs87w6Gj1GO+NNCwRBXEcKqkDnW9pLS+s2DT4p4UQ== 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=fpKhqGUG7A6n/bVWGGKCxdasArEcOevFR93nqXfXT8w=; b=BBRKxTGxktdcMhvp8u+Y4NBxv5eb3Ehoklxo3aOkSZDN2DN2Dq/KD429JlmfP8qxsYNx/is3Ftj6sRV8xTqrF1oPatYAfbxBcpmMazkZlyKAWfmBpooojGGxbD/ywjfEpESBIFIbcLK/3O34/09Zj8IqJb/tqw7MydalDyd3rwmuDqiajygFjbCAMJmNG27UkyBRRA1sLDjRSH2TDCavR0BGS/+lLNmQ3BoH8t5griWU3le7fiKJCtXXxVENMxq7gxhLM7U0xFW4zYZ3Xl8y6/QziUZ1/C1C6/1j3xPuPU3GpE5yBWoB1eOpd0rdROkf1ESLhKZX/kagJtVP0S5+qw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 172.205.89.229) smtp.rcpttodomain=sourceware.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arm.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fpKhqGUG7A6n/bVWGGKCxdasArEcOevFR93nqXfXT8w=; b=DG9hRlUhRPltpX8eJwdHFmnJ6of6/MG7m+2DHVC1S7H6nFy6RAC7GcG0crz9zAW9kwH4nkRFSH4W1F2NhET/9Qi9uLuI55/s1ray2mwbg165F+TJZ9F/Nl4vFps9NaID/ywhyni325EEj+9LGZgsK8tBPYRR2HZR6QGoyslMl7Q= Received: from DU7P191CA0007.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:54e::32) by AS2PR08MB8669.eurprd08.prod.outlook.com (2603:10a6:20b:55c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.25; Mon, 9 Mar 2026 17:57:09 +0000 Received: from DB5PEPF00014B98.eurprd02.prod.outlook.com (2603:10a6:10:54e:cafe::16) by DU7P191CA0007.outlook.office365.com (2603:10a6:10:54e::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9678.25 via Frontend Transport; Mon, 9 Mar 2026 17:57:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 172.205.89.229) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 172.205.89.229 as permitted sender) receiver=protection.outlook.com; client-ip=172.205.89.229; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (172.205.89.229) by DB5PEPF00014B98.mail.protection.outlook.com (10.167.8.165) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.18 via Frontend Transport; Mon, 9 Mar 2026 17:57:09 +0000 Received: from AZ-NEU-EX04.Arm.com (10.240.25.138) by AZ-NEU-EX04.Arm.com (10.240.25.138) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.29; Mon, 9 Mar 2026 17:57:08 +0000 Received: from PF4S4363.arm.com (10.57.58.75) by mail.arm.com (10.240.25.138) with Microsoft SMTP Server id 15.2.2562.29 via Frontend Transport; Mon, 9 Mar 2026 17:57:08 +0000 From: Matthieu Longo To: , Tom Tromey CC: Matthieu Longo Subject: [PATCH v3 4/7] gdb/python: allow ref_ptr::new_reference to accept subclasses of T Date: Mon, 9 Mar 2026 17:56:21 +0000 Message-ID: <20260309175624.236491-5-matthieu.longo@arm.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260309175624.236491-1-matthieu.longo@arm.com> References: <20260309175624.236491-1-matthieu.longo@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DB5PEPF00014B98:EE_|AS2PR08MB8669:EE_|AM3PEPF00009B9D:EE_|GV2PR08MB8343:EE_ X-MS-Office365-Filtering-Correlation-Id: aece5040-d95d-4637-f9de-08de7e056faa x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; ARA:13230040|1800799024|82310400026|36860700016|376014|7142099003; X-Microsoft-Antispam-Message-Info-Original: ngEeGDBVBLj+1technSgzetsckChXVGb4ItD55BXQyHDTQTWgVzGsYwAogO8kzOPgSSA14RDSSchk684ICAfc5Z/GnHVjJ17M95iX4jaNiGXJDYTRYFHS0D5/FmLHJ4ozcEvvWBh27LUu+JNVxbrKrQ8GeM2zDgGPtDwiIdL4lmmU0ZE4Bg4y1y3YSvn60fw1Lgi7Nf4s9I8Zkf1w7/HbhOxovce5lg4BGJlCgcd+EAYhGfENTRD+PWP2NhRXERz8pIjIv1gOONDPn7JSvVt/WUmDmGwXccI4g2SVP/YtzCUvmRW+6nl//DO3DBwPv1F+4ShwsyO/QRpe9OhitUviNtqHVJUJ4unoa6Ai6J6tmPX5kGQPdd+PzW85/Rk56S7OYGGKoNV0zGfelL8yBewRGkiCD2szLgjs0IFiW0RFBQmfIOqvh5NbfR/6W9adciWgQUvL5g+A5RZtSLmjVBAdmBqRFFqHW3ncAPJNg3hjOv8U7LX5oM6D8m2YTGqxQNEG4WDF5LVw9skPgdbb6EuY1PspuKYiiel5ybzGhhSdUWsSZ5bpR5SwzccCJSt5SSd0YtaRcO02vM7FL31gzEW5YsA9vaZGe8WKb2vlvWbyLDrb0/MuA+2Dw5XIgQD0+Tl9GDk3+lRm0ty9tIJnaQIR3oUinZl1hnc+Jhlt5fYyhDXvxf2rxANxXXwu/016zmcrawkvUbdaPKUW8RWzfBP2FaOrcXOW1yd1DVUvgrCLqbuGrloyO+uH8zn436+ndU5XydPM2mV4BtC3rcgSblBmg== X-Forefront-Antispam-Report-Untrusted: CIP:172.205.89.229; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(82310400026)(36860700016)(376014)(7142099003); DIR:OUT; SFP:1101; X-Exchange-RoutingPolicyChecked: cBlcrwV5g1jbRsK5ffF4JaNxqDWVc51VYV3Y4odGDknyNVJ6Vl61aQcqN0EhQVMuRKsdS+doPNJwl/I+0pu6e1vSi75gpBG/uCCQHKRdd2KCRDXf/Pr3XkwdZxAYQ9ELLYJs4/zWCi8hw+mV3frp4w6NLMqxnwKMGa2KMa+qs5Rp9KUkPTHGbVmnJPDWz3Pk4Ew7Ywg7fOD2ImS4tR/ko1V1JB6Li6qre54hTsoTUkX+0sav5ZIJRY5IHNgiES/fPDBIZj7Frmcg/AH/gz/UnZ2R8g8t3fyrTv7jKLP+ENioLhBig0h0B4PpaINaMjSLWiNLy8O4nd7c68YMTzgNGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8669 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM3PEPF00009B9D.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 8f621157-58ed-4671-b1ae-08de7e054898 X-Microsoft-Antispam: BCL:0; ARA:13230040|14060799003|36860700016|82310400026|376014|1800799024|35042699022|7142099003; X-Microsoft-Antispam-Message-Info: E9FkAWF2ZwQ1r8Nf+sR2myVGm70rjd3Yjjmk+YfKmIg7dXAsFczeirDMOORp2qXfKSwsKKuODk1noxx1FguHmF7Gvo62wl6133P0WkTqottBPG0f33Ig6nmOzsutlWhxB6ziHFXG9Hr5jgIR18k1HUDZ14RmF4HzhmJdJZYGtMJ22MsQgxuzjCZPh9FnEDJWlzlchq/gnFjOeORwO/ZiYnUQXbC3lTI5VdSMW388uJ55HEXZYpbEzYxxZHh3wUotNXGNeZEIVm0uKAYRynX6iD1Z3MBB8LXc357GhC5mywfJMfkVnR2iRtc5KQsoX5XZ4hf7I4BK7TK5zCZuVGi05aPemtY2LdP+8A+yIqosBHhAcaifkYpGjgomCf2K6NeRtYbeSp9wX86dUGNKwYSZq3VUBzrludVdOBQOdjSbbhpuCU9TqFVlWfvDOCPZcNgW/rRGvepkaTyEiwBvuA9qj2T+7wPaqk5JSInR5kWN+fzLRTOmC+2VsuR2XaIhs3oZNZRZccOsY2wk9EhVJDf1rSz5lvuN9whL+YnJ0JJsELoW5BMebXondd/l5He1ufCuQFcIOJrPClUdZTVKfRkg2W5lJBqpLJKbYT29MbmpN2LXonrIrpExf6SSXdei+r0A2bdeWLUFFZeYXI/OmouiOhchYnPbuXO4p80AbeXy+HZo9bW7Uujf0uyN/nZB6VdOaUXUkKSGW5wS2STha7f0WcGoYO628uVdXXubcJTdJyXFA/3CRQusFEZAWDU5oQ16dPQD5HNHWwU9dv/+PFsQkQ== X-Forefront-Antispam-Report: CIP:4.158.2.129; CTRY:GB; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:outbound-uk1.az.dlp.m.darktrace.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(14060799003)(36860700016)(82310400026)(376014)(1800799024)(35042699022)(7142099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: DWdAxtfcCP5V4sV/UEDNBAFYVmZm/T8HJ/hiq4puH4dXptQTwAkF+C1D6sMY9r9nP9+hGjp5tvlyl1K3xDqD+9M31wpGbaFBpw/MmqnJHW0iDCXv5HM/XCgashMxOjPFmXl69XLMJcVehaBq9rNbafQTlGb1574wtZk4PhtlX/SqzTtbib4HrnLAu2PWpLy9CF0Gmz416gYIjH848NiZZ5I5x151SjdXDJqcnG3ru2darn2EzdDxewclBr6AunNxMudu6yXVmoo9pGYvQ+5jj3ORfKYSw3lYdYp5U+N2cAUDUf0tI4i0MQfkTyjY23eV7EIrMRfb1S02SD8fd6IbmCzssDInLDGJf6U8sNZd5fHca67PlONVP+y99npNykLHYYg7xVTBwOnxKX4jumNoDmSsMwtvzx15GfUGrqrmHl1h57536m1f7ioHbk9cl/Av X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2026 17:58:14.6175 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aece5040-d95d-4637-f9de-08de7e056faa X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[4.158.2.129]; Helo=[outbound-uk1.az.dlp.m.darktrace.com] X-MS-Exchange-CrossTenant-AuthSource: AM3PEPF00009B9D.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8343 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 When ref_ptr::new_reference() is specialized for 'PyObject' (i.e. gdbpy_ref<>), it currently requires the argument type to be exactly 'PyObject *'. As a result, pointers to subclasses of 'PyObject' must be explicitly cast before being passed, making call sites unnecessarily verbose. This patch makes ref_ptr::new_reference() a template method that accepts both T and subclasses of T, performing the cast to 'T *' internally when needed. This removes redundant casts at call sites without changing behavior. --- gdb/python/py-block.c | 2 +- gdb/python/py-inferior.c | 2 +- gdbsupport/gdb_ref_ptr.h | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gdb/python/py-block.c b/gdb/python/py-block.c index 602e86c3766..d56253141f0 100644 --- a/gdb/python/py-block.c +++ b/gdb/python/py-block.c @@ -346,7 +346,7 @@ block_to_block_object (const struct block *block, struct objfile *objfile) block_object *result = (block_object *) htab_find_with_hash (table, block, hash); if (result != nullptr) - return gdbpy_ref<>::new_reference ((PyObject *) result); + return gdbpy_ref<>::new_reference (result); result = PyObject_New (block_object, &block_object_type); if (result == nullptr) diff --git a/gdb/python/py-inferior.c b/gdb/python/py-inferior.c index 76e3da9f620..e55360282b6 100644 --- a/gdb/python/py-inferior.c +++ b/gdb/python/py-inferior.c @@ -400,7 +400,7 @@ infpy_threads (PyObject *self, PyObject *args) for (const thread_map_t::value_type &entry : *inf_obj->threads) { - auto thr = gdbpy_ref<>::new_reference ((PyObject *) entry.second.get ()); + auto thr = gdbpy_ref<>::new_reference (entry.second.get ()); if (PyTuple_SetItem (tuple.get (), i++, thr.release ()) < 0) return nullptr; } diff --git a/gdbsupport/gdb_ref_ptr.h b/gdbsupport/gdb_ref_ptr.h index 4352ab3e7c0..0eb654324c6 100644 --- a/gdbsupport/gdb_ref_ptr.h +++ b/gdbsupport/gdb_ref_ptr.h @@ -197,9 +197,12 @@ class ref_ptr } /* Acquire a new reference and return a ref_ptr that owns it. */ - static ref_ptr new_reference (T *obj) + template + static ref_ptr new_reference (TObj *obj) { Policy::incref (obj); + if constexpr (std::is_base_of::value) + return ref_ptr (static_cast (obj)); return ref_ptr (obj); } -- 2.53.0