From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04on2122.outbound.protection.outlook.com [40.107.8.122]) by sourceware.org (Postfix) with ESMTPS id 642993858D33 for ; Tue, 6 Feb 2024 18:22:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 642993858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=xmos.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=xmos.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 642993858D33 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.8.122 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1707243752; cv=pass; b=PXtSin3R+UK3OASPWXch6QkcZcAR3jXACs82jB1klfWB8aUaNn4L9/5jYVSWFZqIQXOUsq9aA6kdDWQNR1L2NwLGvnqaTlsbCEDgokccxAmR/GvsGloMI4VIuvqDnIJffGflV3dbiHEnXJH3KyFBzDXxLvKbq1LREFP+jP2FVUg= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1707243752; c=relaxed/simple; bh=mKtt87nk2MpCSlANWZpvSlYvIMiEyM1mXHJ6x+dZdQA=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=tei8wdLvutN5cab5yErfYa8ezYm8hu4EHtVCreZ6lcqwafCCE6S4z/eD3J9nDEFKwUf1Vo4TUpnUwFgSMkd1TR5+XfU1VKJBna7aMWB6/wm1zLsr3PGwHyG3H48/zHq3KKo2PMWcqFPJ+gyu8Be0cvQ8G6TEnEsCn5AiG1WOGYo= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=laI5YWBbRBx4yLcPGtIiuAwn8DiAjjjvFDPnrP2ETnUVwxCOltcE7MZ24/ZW/EU8LNG6VysGPbtWhrhXGEpLfrIjkI6exD53Wcxz7z6IC9mzewcKShpKkMSjstggoqT+qcoKW1sfFvmD0BEjfTDQYh34h/oZFiZ14J0lp/Vi1Ph2jabkXnqQq6YCHGrJmF2/n3uTIe4aMIKnma6TC4o2ydo7/bWEG/OXgvVRWPysZhwqfpZj9yc92TGV3nMg9ujMRLGQ/a0557IU+CUbNy7IrMbHiIQfDq9WkwxvBwp2RtZ3onCo/d6UaHafjTONp7lDbpCmCexNLAb6q+rogbJqng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=FdugUaE/G+BKz2jRXkEVbkX+gziYFdgdzc77jUP2TyE=; b=aQ7+ZhE9IqWA2CN5DpKaPuri2+Wr49qZIC9BQJ9XwpVEmkWD8cxAqsu4sjZYhx+C+5L9aZRbWhh5yd3WowPNwfHUfIK1YAmrTQl0P3dMKhnXoupY0hy4OfDwCc35b4cjyDs9Avhi+s+u9+muk3jA8cj/R8dyKBrbe+LwsaHqbcd/dGC0M/FhWLnBm17fmHJwx4PdZguGsluJ1RWJvBz3d/D0GJCvVStscVlmLHrrQqcQtooesuQzHtgWZuVy81u0uBkya9btGU7CQndPQHYKrBdeZo/Kyn95HH+1+kSypawZX4BHh6+kVA4YJcMw3AVb9cXa1qkBMJX63pIyiLkEqQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=xmos.com; dmarc=pass action=none header.from=xmos.com; dkim=pass header.d=xmos.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xmos1.onmicrosoft.com; s=selector2-xmos1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FdugUaE/G+BKz2jRXkEVbkX+gziYFdgdzc77jUP2TyE=; b=F/r9ObDWiwRfuPM5E5QWm0/FqV3NaZMjHzdvdI/nrq7zn8W+34ar9ijEh8fa0G23wNIZvmjH3dxnlGxI+C+YYOxOtMHx+JNoLs5pXoLmlC/od70HNiGjgLoDaJK7H8WbMOM9OC3lnrfBMl1ybwMqt7pvF9AG/Nzac87w9htIlx4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=xmos.com; Received: from PAXPR09MB5583.eurprd09.prod.outlook.com (2603:10a6:102:280::6) by AM0PR09MB4082.eurprd09.prod.outlook.com (2603:10a6:208:1a2::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.17; Tue, 6 Feb 2024 18:22:26 +0000 Received: from PAXPR09MB5583.eurprd09.prod.outlook.com ([fe80::c02f:8801:968a:1a99]) by PAXPR09MB5583.eurprd09.prod.outlook.com ([fe80::c02f:8801:968a:1a99%5]) with mapi id 15.20.7270.012; Tue, 6 Feb 2024 18:22:26 +0000 From: Ciaran Woodward To: gdb-patches@sourceware.org Cc: tom@tromey.com, Aditya.Kamath1@ibm.com, Ciaran Woodward Subject: [PATCH] Remove use of scoped_restore_tmpl from scoped_restore_warning_hook Date: Tue, 6 Feb 2024 18:22:13 +0000 Message-Id: <20240206182213.23712-1-ciaranwoodward@xmos.com> X-Mailer: git-send-email 2.25.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: LO2P265CA0290.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:a5::14) To PAXPR09MB5583.eurprd09.prod.outlook.com (2603:10a6:102:280::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR09MB5583:EE_|AM0PR09MB4082:EE_ X-MS-Office365-Filtering-Correlation-Id: 0d001a54-1440-41c3-2b1c-08dc27409224 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: RFMzlUGi/o6uIiU8AQ+HlvRfqbxrYG+B/EVjIsaM72AKMS9Y03RD2NA2DheHB8xj8p1tVEHDqtmr01uKFiIwHUJuJgpVH4vVMUPuI/mFkWk7Upi4ljb+hgcETexonBxNIqoWeiQI4cOBs7hzv/eht5VB2Dvs+G3OsFRBY2IsJGeApQhARGy7512EDUXrBNwucaLsqgSIPzsdCyMpC2KHncLSaVuOOZIJMBYEGQuhLFkfNBhQor4V1GGWZXVbotoXA6cBTCV0CxrUmKUKH1wFp+b96ui18TsdFmKU8ll+8rvxhyyaVKEMd/CpU/7WnF4WgaNuJegBhdQ8pXruUQixX3YDEH9aMdcF1GOOJ9fKYO+IQ4wNfuz6ZNcl4XMyU3AOoa+kc59gxVDZKCfmefyDV96hbQj7f79JvK3A9tHCMVaZUTHbO8RcJAzXou6zLhrx/bGgS6QYb1seFXPwaU9ftrRmzMMphC9C6qKhA1YEEgeMjsCxGWiWbji4/jbOGgrOKxZBg7vssluoiJPUPKcRRpYXwNsMo4JaL4ITHrCLLA2GD2/lNTRRbTVLpHb+3GLb3OV9CUn+2NAJTk4aCJLPkEo2oGW6nQ2sANEcha1R2Bo= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR09MB5583.eurprd09.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39830400003)(136003)(346002)(366004)(376002)(230922051799003)(230273577357003)(64100799003)(1800799012)(186009)(451199024)(66556008)(5660300002)(41300700001)(2906002)(8676002)(66476007)(4326008)(6916009)(8936002)(38350700005)(316002)(66946007)(478600001)(36756003)(86362001)(6512007)(2616005)(6506007)(83380400001)(26005)(6666004)(52116002)(1076003)(107886003)(6486002)(966005)(38100700002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?WtWj6MBTJ9P5OLXGx+WQsNaJToysgO76NKDLjplACPHWJ6hynDbHk1XeW3/6?= =?us-ascii?Q?v83fzEjQ809cXvJGMgWIe6Hn9EBiFDsksGQPeMQZR4t3We8U82Kq/wcN9s7z?= =?us-ascii?Q?CvJw0gvlQUmtvrma63plgiWcfoUH0Eudd7+FZ3QmFfMM9nB9kwF00p++Mx+y?= =?us-ascii?Q?DrBw7SCz4bOD2WWFi/px3Z7uurEf6UPRMb0kUQtlsCCqDlcNNnUnKROh/0b7?= =?us-ascii?Q?2ZkZYSBYGTnp1x34t2SFQy1wpx+VMCBn8MrEMFv5AaL6c1g+gk8Yb8WSX4Ns?= =?us-ascii?Q?k1IkBowzDqlYATcsjaf32u58MlPIU3lJrWFDWRAIAyjg2LHT4A1M7qC8Ks7t?= =?us-ascii?Q?7dgNaC+cOgiqBilSxC2h5xLMM+1kBdctgjWK9XcaXCMWaw3dEY5rnoovE6wK?= =?us-ascii?Q?UAhT6tGO5qPv/FDLl7LBFgoXT2iulOzgw0cCT/epwwTaM3sg29U9TJ+P437s?= =?us-ascii?Q?9olnsiEUJfdrg+pSmlyzHY4h2ob9Jtc+oEo/GmJs5NqWU9xgyfZnnpoasEc8?= =?us-ascii?Q?PgQhnORTxMCFzppjiOMnLzB6hKKP5EBuwL35umLbt/KOSIGk8AIK9QvVoHce?= =?us-ascii?Q?uI7LrjTmXH5S7QGK1/+dm2eWcIsjSNL/EEl/7a32gVjhN3M0QPSY0uKXncz/?= =?us-ascii?Q?CEtnO1MPeKGPWWFKsEWKcaYZEsPqyNNiHfSh5OEj2AiOzRZS3cMPuSQ1ASSo?= =?us-ascii?Q?w6UPMXj2SsT7RMDxVAXCyUw0sT4sqfYDOnglf8IH9u9Y+W3z0sv6hMKUey0/?= =?us-ascii?Q?GpVpv5f9Vk9PLbGI+6YYg+wvUvT59+JCCCuPc1zx5kk7nJRoDZ3O0T0xUXRd?= =?us-ascii?Q?mkDB34jgu11GaaHlvV9O5th8v1tKGUS67paBnJAAj7yM1vBIszZ3isBg7IMg?= =?us-ascii?Q?JRLoRIfbI0+G/12xnj3TKe7X1rvec8YvmgWrRCaO6r/w0Rnt/Ha0YF6iQCyr?= =?us-ascii?Q?ZAZKGFur+WpDDmk7Q+3Z2oDCPQD3J+5SiIAGDQA1k0I/UCD5M/TavaBuSPre?= =?us-ascii?Q?/MSzLTjO8FBsNXS2ZERsruOPXr96F0Wr1Ucje1Dg+xNkYGR1DzuHFxsoVdp1?= =?us-ascii?Q?m0yf1stvdR/ZEdql2m+cgyRnB/KGW7iG2ur8B/lSsJIsPpB45AtwuVAaY2EH?= =?us-ascii?Q?kUciEVry9w+DxAxI9rWVsc7vkmslT6DJkX9DtS0HZRzg/E4ehpdCbzhSSSw+?= =?us-ascii?Q?v4mY4arhjFC6wUa/mcPwQQ1IV22QH10s5bYrcvUfm/oKbz0OhKNPv8QyEhrn?= =?us-ascii?Q?ylFBQEt/FcW2XRBJ6YKn5ybXHRCjjjJTqEw7llJA96F6y8lbbVzLj1XuU8FO?= =?us-ascii?Q?0UrCohCjEVhMwoAeDVf+CqmHrSqt4+YKmQABlp5/LmS5CITstKyZVv3OEfCK?= =?us-ascii?Q?SgBUGfDyTFdWs+tjfghM/O0HCcCoOJd1xdcW+7dcOceAF2zPkFC4Y0koR/X1?= =?us-ascii?Q?qCciNHUoYXTF+Kt62C3RC0E83PhrUxIMhKy1TPRI0b2+bF7gySusBMyAht5V?= =?us-ascii?Q?vFNKSryI3SuToJHcD+8kkE9EtEGdTU/lj6euagXV2+0YRHIlT1BZrl5akyyG?= =?us-ascii?Q?9TU+/azOH9IQEMHqMO+DDjD+XIyQe0tw5oZKSOe7I4koPul8yw6o0bBiOV1E?= =?us-ascii?Q?Hg=3D=3D?= X-OriginatorOrg: xmos.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d001a54-1440-41c3-2b1c-08dc27409224 X-MS-Exchange-CrossTenant-AuthSource: PAXPR09MB5583.eurprd09.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2024 18:22:26.4334 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 975ecfb1-4080-42d2-a01d-4a4d0707a539 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: F12I0fIxFYQ8T99LV1m7+Ob2Bf1UYTtA2Ta3bGqCK4JADFkbk58ppStS9b97yHpYiPVLQJP/kJNXI31YdDp3tg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR09MB4082 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: The warning_hook_handler function pointer takes va_list as an argument, which on some platforms (mingw64) includes some attributes. Attributes get ignored in template arguments. This led to the compiler warning: error: ignoring attributes on template argument 'warning_hook_handler' {aka 'void (*)(const char*, char*)'} [-Werror=ignored-attributes] 387 | scoped_restore_tmpl m_save; | ^ By manually implementing the save/restore behaviour, rather than using the helper template, this warning is fixed. --- This is a result of the discussion here: https://sourceware.org/pipermail/gdb-patches/2024-February/206374.html gdb/utils.c | 9 ++++++++- gdb/utils.h | 15 ++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/gdb/utils.c b/gdb/utils.c index 702c3f15826..40b998d6288 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -145,8 +145,15 @@ get_warning_hook_handler () scoped_restore_warning_hook::scoped_restore_warning_hook (warning_hook_handler new_handler) - : m_save (make_scoped_restore (&warning_hook, new_handler)) + : m_save (warning_hook) { + warning_hook = new_handler; +} + +scoped_restore_warning_hook::~scoped_restore_warning_hook () +{ + if (!m_moved) + warning_hook = m_save; } /* Print a warning message. The first argument STRING is the warning diff --git a/gdb/utils.h b/gdb/utils.h index 7487590902a..d3b8efa56cb 100644 --- a/gdb/utils.h +++ b/gdb/utils.h @@ -383,8 +383,21 @@ class scoped_restore_warning_hook public: explicit scoped_restore_warning_hook (warning_hook_handler new_handler); + scoped_restore_warning_hook (scoped_restore_warning_hook &other) + : m_save (other.m_save), + m_moved (other.m_moved) + { + other.m_moved = true; + } + + ~scoped_restore_warning_hook (); + private: - scoped_restore_tmpl m_save; + scoped_restore_warning_hook &operator= (const scoped_restore_warning_hook &) + = delete; + + warning_hook_handler m_save; + bool m_moved = false; }; /* Return the current warning handler. */ -- 2.25.1