From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from JPN01-TYC-obe.outbound.protection.outlook.com (mail-tycjpn01olkn2107.outbound.protection.outlook.com [40.92.99.107]) by sourceware.org (Postfix) with ESMTPS id 628F53858C83; Tue, 18 Oct 2022 13:44:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 628F53858C83 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=hotmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hotmail.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WrP6/MX1DJ7q1JvuDYczLTG0S+R7V342NBGnnhLxMzFt+0qzcBLPx9KKrsFCdcDn1QSZE7dKvn0wgoDrlSuqfgXKYBWibO6TlmmnEdCWYiaKMZdoup11W9KuSPKUcVVtGGrTg5Tx5g4i+yCdoQKytv1bomEWDRh8DYf6+2YCNS4GKzkeVKltSXaf3aM00o5qAFElLJ5CM+hr7Ww2lo1h9ItPuqWEwlOjiYqYbI56cGm3c9VvlpWLHUC3tdmWZEncyYBtvgQh2LosToEVpBSLa3ISetqy4hIxKpQcLEHLKqU8LX27WAel0DilPosR+8F0NjFrPGaNcMi3NCuGf5rjbA== 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=e1u4W24Fi2y6dvzwFqS4Usdo3DNObdvfyzwiE1qpHEg=; b=TFFUnY7nnGiE2SiXkR8h1sxvhczXXs1RWCxkJdgsNOkNBt73qq27fwVGcikmlfOo86sNeuq8ulSLxrrLhq0N/bl0NmTVrzj3iUxYmVPIBOhMGLAguZz6WlnUPR+e7LFLL0ZWumrxfNjZyc2hBulPT/G+cw4qLeo1LGaVAt9WEU4Y7DkAuZu9PBiycYjM8NAe+4eizjvq8l82T34TxE5iyK/lE6dVkqvjZs60q3P22rvoKFnyglckjJr39A/zIDP3Pyq1eMJILza2cv8YSMgxp6oa+E8RrzX8DuJ7tgZU/sCNO5T7BKzM7pxXtrLnzE1lhCRX4tDorleWr2ImtRVoEA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=e1u4W24Fi2y6dvzwFqS4Usdo3DNObdvfyzwiE1qpHEg=; b=F6dyTJ8Q7kM4o9P/BGJpO4KVx+QmsrcBxrVJfdx76kPw4x8/TUDmZjzvEYRA7M7CXJY2tvNahuJn7mbZFM7/745esPmV3xGp4fP9eaXc86QKtFHs8SRNAlq1xhuO7ZKwAKzx+LKcse8Hb7kevWxbGlkLmcDGix5SOumtu+IsDhowQEeCKhu4i3tQ6NNMAFC6SJp8VC3o7E02qp5ZXVsQ+HXyGmNmp2UAaWL6RrqQ6f4d0/OutE1oGTpT06ann5h8j4bxqdrdlWKAFXc/lo22bmsQrXWfTA2tHS6SHJM2meYIxN4VAfjCc7wQYM7naEhbskJm3BCqxdTIEZXS97SJsg== Received: from OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:197::9) by TYCP286MB1780.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:11d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5723.34; Tue, 18 Oct 2022 13:44:38 +0000 Received: from OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM ([fe80::9bd6:7e79:871c:4ee1]) by OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM ([fe80::9bd6:7e79:871c:4ee1%7]) with mapi id 15.20.5723.034; Tue, 18 Oct 2022 13:44:38 +0000 From: Enze Li To: Tsukasa OI Cc: Pedro Alves , Joel Brobecker , Enze Li , gdb-patches@sourceware.org, binutils@sourceware.org Subject: Re: [PATCH v2 3/4] gdb/unittests: PR28413, suppress warnings generated by Gnulib References: <667cafec3594a5eb180aee68f8c3adf1531addd3.1663835104.git.research_trasio@irq.a4lg.com> Date: Tue, 18 Oct 2022 21:44:32 +0800 In-Reply-To: <667cafec3594a5eb180aee68f8c3adf1531addd3.1663835104.git.research_trasio@irq.a4lg.com> (Tsukasa OI's message of "Thu, 22 Sep 2022 08:25:46 +0000") Message-ID: Content-Type: text/plain X-TMN: [scpRPkddV96km6rDRifO1wn1S+FjY+St] X-ClientProxiedBy: SGXP274CA0014.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::26) To OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:197::9) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OS3P286MB2152:EE_|TYCP286MB1780:EE_ X-MS-Office365-Filtering-Correlation-Id: 9646c661-071c-484e-1ed6-08dab10ee64c X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3hKu5M26WnCecefwHN/2lIJ61WcslEKQtDcMw/0NRmWXoQM52FNbUn2xF57l8l62qP3YPLM5XyiOWbJfkj4t6RrSue+V5GyJ8vHbtXJMFQFcvr1hE645Ed2L1zS0tlOLVa3McROKOprWQEBY+e+ym7rdzUY4X9sbu8df2NZJGJBhKRBMPH51dGVlD/2mJiMRyMmc8bqWoNGmaz2pgDhwdYfC62SIh2hHF91EZEp8jYVSN/JQOnqbDucthLiBFFy73f8hndi5oJVbgDYoASW8ULCKugWHMepgl3BcdjclmcaktDcPCG9RbV/8TI2nwVGbsBytlOA86a5kz6kYYmnpn6HsdiCjpOXJ+0J6N6oGHNYrFagqRNUtB+unPo3jDPuRPdXsDQMc1InsLacNUbNqP1LRvAVPfwi55bjBETNB4S1Duq+/YN8ZUQzAH5laNKNOudfelME9md+j8Ve7A5fB3lFKDJP4+RXjgsDhF4Rg4yOzFXyvNk2mZ3I6Bfr/BA3xGoXL8sMY5J056SBAhVTeUo1pkF9apC/NixFXcsCa1/o7/SdaWV4WN2Ecm+PazODSkOflUF6WEhWJH5rB+uc9QYZRnFre4x1yqF+1FJIZh66HcTALrHnaGH+9sr+N2D2s7YHnlWxJs1xxnY6DYUoyWmwbFxN0kWvmkqLUVR32hFmdReRmzlETjMtr462+j15c X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?caOQuHCJg+CfnnwY3wwDnxs1gjG5taCQFXfYQLVTUi68IyFWETsEDMumzK2Z?= =?us-ascii?Q?ReemtRUu5Ke7svJ7egnYCXcjY49ShtFCqjKCeBmyuRQzEY8EYxwOTk6vwuSW?= =?us-ascii?Q?KADOOnKPBjpsZN0LNA2paojvMIT1Ve4fRUfVt6b2Q4DdGAWkYu7vLT+qooTT?= =?us-ascii?Q?2u4moAc6hDuntYhIcJ0c5xX2riS+7QNSznBBfswd4e/EOu7jAGG6FUYy8zq3?= =?us-ascii?Q?GcWMjDnRaayPienHonJ7ErGrRNRKq4I2P8PzjNgnsn4WCj1ltJY3o3gY6bJb?= =?us-ascii?Q?57JIQReyWaNXAivI5bw1sC5cqRHTMRBowEIaJWxB3D5n5m9BDy19M0z2ILUn?= =?us-ascii?Q?fL1Isn/aw1ll+ZoWPVBGRSHxR/rmhdJdj3Zgg1mKJNHLmONzEp7eojfwVHAy?= =?us-ascii?Q?SQg18JWNlmENtNLvU5QS7y5MpYz6Q2xYowfwrSxZJQjRmhcOtYPvizxTOE4c?= =?us-ascii?Q?2AhvUP1/9pRCD36bmz58kLzXv7T9NP7YOf2t8ROn2ygNbkHDpQZlamkfBgTU?= =?us-ascii?Q?nugHt6hvuWLzoOw3u9cVILFHNhHbe/vpoHJDTraI4oX6O3DGdjR8i3IN3hOm?= =?us-ascii?Q?EWp4lgmZMfHVjUf46s7sDmzQXcdmMVf5qKRcQR/k3wVT84c70HJJ/QM+JSTO?= =?us-ascii?Q?lH5WCD1ge0dGMyobPAUUiPrScBBnmONN0nz6lue50JxtUbIPzxir78PA4CwW?= =?us-ascii?Q?tKgv4xTZPXpzJNbD1fOkQ1aZKHqZa70QMIqcFDNb0N9QMnbZI5hWVQ87Mh1L?= =?us-ascii?Q?sDKHqjOpSBnqsIXxiozVCvE39UgY+JURB6x4phG4eeAm14m+yMqvehwGZSyd?= =?us-ascii?Q?JSi5VhC1B0pLOxRipsUji43p8zBAvOUgYX0nNkWbS8HILCJfFz8X1L4iniTl?= =?us-ascii?Q?JPixvPHwiItqkYce2ApXlEW26bK5GA8IQFAJCGAwbMNNmmSXhanva5u5snvu?= =?us-ascii?Q?h4E+zy9aJTXg7FhjNV8ioaJD8Et5Z2v/hgECuqVvYb1sf9Yh0khcR34gD/0v?= =?us-ascii?Q?Rt7xN2NHXI6jadF8w2rFB/4TCd/bTjPKClkGaHLS9iOCqPDq9EvL6mciMts1?= =?us-ascii?Q?+u1ndvv+/eyX7J3fiEXON+31kgDXYhm3q5/RqDkJF2HUCGGDkYwqXOEH/B2B?= =?us-ascii?Q?jI+6P/l0fpxLEfkkJK/z5B7V1rO6fTkzhC9VUN1rfD5Z+o/CsCW+1Cg/B0pH?= =?us-ascii?Q?uUeFinM+8w4gm16kyXhhXiCYpXr7Mp0aTSr6MMyKTmZ6/4VaaGro93uD3ISh?= =?us-ascii?Q?bIe7Rr+UQb8lxLNcJM3pw8aIrgBgQU+xvaHRBPuI8A=3D=3D?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-05f45.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 9646c661-071c-484e-1ed6-08dab10ee64c X-MS-Exchange-CrossTenant-AuthSource: OS3P286MB2152.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2022 13:44:38.1815 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCP286MB1780 X-Spam-Status: No, score=-11.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,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 List-Id: Hi Tsukasa, Thanks for doing this. I tested this patch on macOS and found one nit. Please see below. On Thu, Sep 22 2022 at 08:25:46 AM +0000, Tsukasa OI wrote: > Gnulib generates a warning if the system version of certain functions > are used (to redirect the developer to use Gnulib version). It caused a > compiler error when... > > - Compiled with Clang > - -Werror is specified (by default) > - C++ standard used by Clang is before C++17 (by default as of 15.0.0) > when this unit test is activated. > > This issue is raised as PR28413. > > However, previous proposal to fix this issue (a "fix" to Gnulib): > > was rejected because it ruins the intent of Gnulib warnings. > > So, we need a Binutils/GDB-side solution. > > This commit tries to deal with this issue on the GDB side. We have > "include/diagnostics.h" to disable certain warnings only when necessary. > > This commit suppresses the Gnulib warnings by adding > DIAGNOSTIC_IGNORE_USER_DEFINED_WARNINGS before including "defs.h". > > gdb/ChangeLog: > > pr 28413 > * unittests/string_view-selftests.c: Suppress Gnulib-generated > warnings when "defs.h" is included. > --- > gdb/unittests/string_view-selftests.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/gdb/unittests/string_view-selftests.c b/gdb/unittests/string_view-selftests.c > index 2d7261d18d3..c1f7799d94c 100644 > --- a/gdb/unittests/string_view-selftests.c > +++ b/gdb/unittests/string_view-selftests.c > @@ -23,7 +23,12 @@ > > #define GNULIB_NAMESPACE gnulib > > +#include "diagnostics.h" > + > +DIAGNOSTIC_PUSH > +DIAGNOSTIC_IGNORE_USER_DEFINED_WARNINGS > #include "defs.h" > +DIAGNOSTIC_POP > #include "gdbsupport/selftest.h" > #include "gdbsupport/gdb_string_view.h" With your patch applied on macOS 15.10.7, it still says, ========================================================================================== CXX unittests/string_view-selftests.o In file included from unittests/string_view-selftests.c:39: /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/fstream:579:17: error: The symbol ::fdopen refers to the system function. Use gnulib::fdopen instead. [-Werror,-Wuser-defined-warnings] __file_ = fdopen(__fd, __mdstr); ^ ./../gnulib/import/stdio.h:826:1: note: from 'diagnose_if' attribute on 'fdopen': _GL_CXXALIASWARN (fdopen); ^~~~~~~~~~~~~~~~~~~~~~~~~ ./../gnulib/import/stdio.h:461:4: note: expanded from macro '_GL_CXXALIASWARN' _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./../gnulib/import/stdio.h:463:4: note: expanded from macro '_GL_CXXALIASWARN_1' _GL_CXXALIASWARN_2 (func, namespace) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./../gnulib/import/stdio.h:468:5: note: expanded from macro '_GL_CXXALIASWARN_2' _GL_WARN_ON_USE (func, \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./../gnulib/import/stdio.h:632:19: note: expanded from macro '_GL_WARN_ON_USE' __attribute__ ((__diagnose_if__ (1, message, "warning"))) ^ ~ 1 error generated. make[2]: *** [unittests/string_view-selftests.o] Error 1 ========================================================================================== I think this can be solved by just adding DIAGNOSTIC_IGNORE_USER_DEFINED_WARNINGS before including according to your method. WDYT? ========================================================================================== diff --git a/gdb/unittests/string_view-selftests.c b/gdb/unittests/string_view-selftests.c index 2d7261d18d3..b779b9b765a 100644 --- a/gdb/unittests/string_view-selftests.c +++ b/gdb/unittests/string_view-selftests.c @@ -23,7 +23,12 @@ #define GNULIB_NAMESPACE gnulib +#include "diagnostics.h" + +DIAGNOSTIC_PUSH +DIAGNOSTIC_IGNORE_USER_DEFINED_WARNINGS #include "defs.h" +DIAGNOSTIC_POP #include "gdbsupport/selftest.h" #include "gdbsupport/gdb_string_view.h" @@ -31,7 +36,10 @@ included test files are wrapped in a namespace. */ #include #include +DIAGNOSTIC_PUSH +DIAGNOSTIC_IGNORE_USER_DEFINED_WARNINGS #include +DIAGNOSTIC_POP #include /* libstdc++'s testsuite uses VERIFY. */ ========================================================================================== Other than that, looks good to me. Reviewed-by: Enze Li Thanks, Enze