From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-eopbgr140131.outbound.protection.outlook.com [40.107.14.131]) by sourceware.org (Postfix) with ESMTPS id A3493385841D; Fri, 20 Aug 2021 20:17:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A3493385841D ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PB/v56Nnx+KiDRQtsjkzg9g+S3krm+FUAwfM5Kz6KTP7F7Vt9h7yons/pWFAHJFm3q0D5Rkl7vKFA6yC/x2DqE3THKfXeYzJ1HR5xEy1x93iJ6eW+N8QBXxxqeC1gvtqMJPap76gA4vx/dPm4MbtboMUVajg3NNfs6R7dyomSVcjAWsXNHOfd6ZJBxVJsYJcMEEdjpnrHdKMx4Pn8ELbEF5bjNMuOnBBOqzBcuoWX+OcsWel3GvWzG+U35ZI88NQ2oTDGn30emB98Xbn1OGXaVGYg0Kl+RfhaMDn//QtwAFpOBJVzW1GSsiEHdQst33G4I5PWNmJPhCTKQPZbONqMQ== 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-SenderADCheck; bh=qEdxPC7Ygk6An1amtjkIecFPQZ1a37Blc8O3fCiWxWE=; b=g2/hMfnG8emaVTXmDLHDlFuhdMMecb0Ual8UvkBXODnoeUNDLix/S5AqBX2ds3L89GOGKZuh+F3GH8YgT8vVGw3RMfQLQFlI5uxI9zyPD/3C2Bzl4pmcbQJqq3MdXY9sHbziRnRsm3wz4cjeQIvG+UhiGNrWwxyt0n8jeM8k/AbidvLlFsmuXxB5gJkT04c6SFwrwmrcf2tood22V1DSEzFewP5+BoBxX2Fhlg1pXCRVU3BErxZt/LsDCM0z58ji/9+Lk2dsIYQf5IjMlDs6rkQkV+u+9MRRZth+khwBaxETifLoxa1em//r2Y2/51jE53Exh2UqdIz1AwxoGuy8kw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=uws.ac.uk; dmarc=pass action=none header.from=uws.ac.uk; dkim=pass header.d=uws.ac.uk; arc=none Received: from VI1PR0102MB3197.eurprd01.prod.exchangelabs.com (2603:10a6:803:2::28) by VI1PR01MB6671.eurprd01.prod.exchangelabs.com (2603:10a6:800:179::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4436.19; Fri, 20 Aug 2021 20:17:40 +0000 Received: from VI1PR0102MB3197.eurprd01.prod.exchangelabs.com ([fe80::4849:8dc0:adc6:73e4]) by VI1PR0102MB3197.eurprd01.prod.exchangelabs.com ([fe80::4849:8dc0:adc6:73e4%5]) with mapi id 15.20.4415.024; Fri, 20 Aug 2021 20:17:40 +0000 From: Paul Keir To: "gcc-patches@gcc.gnu.org" CC: "libstdc++@gcc.gnu.org" Subject: [PATCH] libstdc++: Fix compare_three_way for constexpr and Clang Thread-Topic: [PATCH] libstdc++: Fix compare_three_way for constexpr and Clang Thread-Index: AQHXlf9zGYYf+4UjPkCR6yd+HcCmXw== Date: Fri, 20 Aug 2021 20:17:40 +0000 Message-ID: Accept-Language: en-GB, en-US Content-Language: en-GB X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1c33de25-4595-4b23-56e2-08d964178f5e x-ms-traffictypediagnostic: VI1PR01MB6671: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2512; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: t0kuxKcZBUkWm/tFenDeiKSzNAZXKlq3od/Mv54hPlkLwkyFdbW5376OZU4KhooUO/TOKZKB6WE6EexXOPJet0ORlusHBqRmrye2CvEmEjF8GdF4168Cmvr+gQHZN+TmFlBtX9+LU39sSmTGBXHLU2HCRlzsFkEHywIs7BBEAq8/GnRP3LTqJCdmu4WLI+FFltl2VRDlT86SFsX57XokNnb4zMnu/t9VOYKrv9DcucGte0y767dFrQYB7HdE8preN4eLIz3e0zMjKZXQ9QOXe5PluUCmFMSYawFvLvtnOropxJHoTQZa50It6CXbIAxv0waw90bIwQ/ywwSxOIM35Z6fSCp76RJBPjlpx1lU7C6j0LqP+kRlQrj3WAwgikG5FcMkKTyC7GeX8zdiixF8wa5IujCF5+SVTrJxMzcy+YXv5EA1oLsI1HVMSxKOimfGKoTXiOeVhz8pPMWXL65z48X3frFujIyxjngXPNhszOeCMc41t3cAa4CJb3x7oiYPvUY4OAwAUizd6XYVef5ic2yc36miHLYNzJd0XkjilVaH3rSHPoh1ZG9uIGXtqZSvrli9pjKpC6v++WpmJb45ZK5Bg3S0Xr+4GGAlmLGuuGiYgDUXlFPBsejRIlkO4z3zlmv12ZgexBsezMjMQ81NVYReMG1QTMAFSjCsGGAhTPRDS+mj6KnxiTfDdqxRkm9Mg5I4Cp7Bs80zSHOYxg/O2Q== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR0102MB3197.eurprd01.prod.exchangelabs.com; PTR:; CAT:NONE; SFS:(376002)(39850400004)(346002)(396003)(136003)(366004)(5660300002)(76116006)(186003)(9686003)(478600001)(99936003)(26005)(6506007)(33656002)(38100700002)(38070700005)(91956017)(4326008)(316002)(786003)(83380400001)(66616009)(52536014)(55016002)(450100002)(86362001)(2906002)(66476007)(6916009)(66946007)(66446008)(64756008)(8936002)(8676002)(7696005)(66556008)(122000001)(71200400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?jLD5X+9sC23OcFBPysB10mqE3soLqncjesuZ0koI7dd+iBs1bYa2AP92Ue?= =?iso-8859-1?Q?HJiPuHaZvCumK7tKRJ8lTYydu7RDscnG3AGOOohO2pzB6rzwjG2RxdOFVE?= =?iso-8859-1?Q?gt/eizngAetN4Jc9RDiOlAbkdCKLuJ6ZbpPUPyGlaDRLAQwJlv0OtnahRf?= =?iso-8859-1?Q?Q9XSUrZo52Wh8nOVlLe4A43lfWzXW1clqPFtAZyVdD6sHo1+vhSVSa+LjA?= =?iso-8859-1?Q?XKB0Mg2UQoSFu6yg/CBnXrgNeospey8vn+j6rkm2BCkQuTfGcEl13iRsdg?= =?iso-8859-1?Q?dmv7kc8p5vRRVDMhoBk/lNl50+iipw9S65TVM7l8e6f7XZcr6Hf88yH/Rc?= =?iso-8859-1?Q?Q2KmF9D91m7GCOfh3kFQqutyIexHjZFR8XsSbXiYO20JEKCfzhUoSOiA+5?= =?iso-8859-1?Q?J+JA3fPd/zSD2YU4lv9Nt6uLt69jcvblg9e7gTR7xAYylwmh+PCfy1KLq0?= =?iso-8859-1?Q?EhNeIRvzawJQFtRXsCDuXZAxYclTRNnCOJBdnm2iS+NwwyHtQzE9uWnrsZ?= =?iso-8859-1?Q?PKCk0WrtR51jpL4PGFK32qa5hAn/8AiLJQtbGgp+odKJ4+z6SPb36aGAcF?= =?iso-8859-1?Q?Pi+GpbccNtH5830rTHlI9iF4iOW1rfKInhA5JzChsGDyYlWoU+MOteyeBm?= =?iso-8859-1?Q?blPyf0HSwx/21ZfEc1zpEasTGXM7dHYG+zU6XRbteV7XVtlkqotDD5g3z8?= =?iso-8859-1?Q?4/iZXIb6gj4QWd+De5r+Mf11LGvBiM203cQd2RGOb4viTOzUifth1+ajQ7?= =?iso-8859-1?Q?bBilxtLcXWxP/WHBN0hq51TfMSMFyhYaCK+1my25aBdXJBpKX3umK18Ims?= =?iso-8859-1?Q?8gTrxe4uGpDZXaTvSCwVEFdb6BzXgS7zY9h25urYQRFEdCQcwx2BwAm6kf?= =?iso-8859-1?Q?+YncYUXw/WjgICVxSkAfc5GzdQ/EWDfQ2xKuKn4v3GOqah+n2bWwMF/0BB?= =?iso-8859-1?Q?Xfu4tRgO1cfPOpmtv/0/8jfNcONWAmvvoVIWAzRkOvfCehlfT81guUV0q1?= =?iso-8859-1?Q?k/ihlD22Z+acblSmJAY223G5q6AHz6EwPHqCa51Gx5Ku3R6kDoI4pLhzt/?= =?iso-8859-1?Q?K4/KBFejzRgwlZlXz6YDp5NmefejePxS9r6hjyCdfmXgPqZAFe0oPLj/ZZ?= =?iso-8859-1?Q?YAB+n1jLka2U9S67z8zyINpr5Gb+4w1w8lR42c3ChBieq2ImMS5eMifpW6?= =?iso-8859-1?Q?8BOEGUrQImfufOukCMTGVl/pUoffKEDzaVLfLtRdznfeGyXXNQZnz8jLK5?= =?iso-8859-1?Q?zHXStteSW2d1r9cMvDtnQT+TOeD83hSH5eojc9wgEka151RMV6aF71TdlA?= =?iso-8859-1?Q?Ae+V+4SNf6pd7pTKeMVtXAznKaHyF4zQAiJBvfHTCbCUdRp2BWRsteIsNy?= =?iso-8859-1?Q?kF/xpVOihI?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_VI1PR0102MB319729A5DB06060C397CD723A4C19VI1PR0102MB3197_" MIME-Version: 1.0 X-OriginatorOrg: uws.ac.uk X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VI1PR0102MB3197.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c33de25-4595-4b23-56e2-08d964178f5e X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Aug 2021 20:17:40.0476 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f89944b7-4a4e-4ea7-9156-3299f3411647 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4WhnW3aXMhAnTcK2BPZUnaeYbfoXfWZvHTUVnwLlEMq4FNhxM+mc8COrdrHI9bkftgqe47shY6JETWqLAOIFOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR01MB6671 X-Spam-Status: No, score=-13.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FORGED_SPF_HELO, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 20 Aug 2021 20:17:56 -0000 --_002_VI1PR0102MB319729A5DB06060C397CD723A4C19VI1PR0102MB3197_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi, The current compare_three_way implementation makes provision for constant e= valuation contexts (avoiding reinterpret_cast etc.), but the approach fails= with Clang; when it compares two const volatile void pointers: "comparison= between unequal pointers to void has unspecified result". I include a fix = and test. Could someone commit the attached patch for me? Thanks, Paul Please consider the environment and think before you print. The University of the West of Scotland is a registered Scottish charity. Ch= arity number SC002520. This e-mail and any attachment is for authorised use by the intended recipi= ent(s) only. It may contain proprietary material, confidential information = and/or be subject to legal privilege. It should not be copied, disclosed to= , retained or used by, any other party. If you are not an intended recipien= t then please promptly delete this e-mail and any attachment and all copies= and inform the sender. Please note that any views or opinions presented in this email are solely t= hose of the author and do not necessarily represent those of the University= of the West of Scotland. As a public body, the University of the West of Scotland may be required to= make available emails as well as other written forms of information as a r= esult of a request made under the Freedom of Information (Scotland) Act 200= 2. --_002_VI1PR0102MB319729A5DB06060C397CD723A4C19VI1PR0102MB3197_ Content-Type: text/x-patch; name="compare_three_way_constexpr.patch" Content-Description: compare_three_way_constexpr.patch Content-Disposition: attachment; filename="compare_three_way_constexpr.patch"; size=2947; creation-date="Fri, 20 Aug 2021 20:14:30 GMT"; modification-date="Fri, 20 Aug 2021 20:14:30 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9DaGFuZ2VMb2cgYi9saWJzdGRjKystdjMvQ2hhbmdl TG9nCmluZGV4IDA3Y2M4M2Q5OGY0Li42MzhmMDA3MTZjOCAxMDA2NDQKLS0tIGEvbGlic3RkYysr LXYzL0NoYW5nZUxvZworKysgYi9saWJzdGRjKystdjMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAg QEAKKzIwMjEtMDgtMjAgIFBhdWwgS2VpciAgPHBhdWwua2VpckB1d3MuYWMudWs+CisKKwkqIGxp YnN1cGMrKy9jb21wYXJlOiBBdm9pZCBjb25zdGV4cHIgcG9pbnRlciBjb21wYXJpc29uIGZhaWx1 cmUKKwlpbiBzdGQ6OmNvbXBhcmVfdGhyZWVfd2F5IHdpdGggQ2xhbmcuCisJKiB0ZXN0c3VpdGUv MThfc3VwcG9ydC9jb21wYXJpc29ucy9wb2ludGVycy9jb25zdGV4cHIuY2M6CisJTmV3IHRlc3Qu CisKIDIwMjEtMDgtMTkgIEpvbmF0aGFuIFdha2VseSAgPGp3YWtlbHlAcmVkaGF0LmNvbT4KIAog CSogZG9jL3htbC9tYW51YWwvc3RhdHVzX2N4eDIwMjAueG1sOiBNb3ZlIHJvdyAgZWFybGllciBp biB0YWJsZS4KZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9saWJzdXBjKysvY29tcGFyZSBiL2xp YnN0ZGMrKy12My9saWJzdXBjKysvY29tcGFyZQppbmRleCA1YWVlODllM2E2ZS4uNDA4MWEzZjIz MTUgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9saWJzdXBjKysvY29tcGFyZQorKysgYi9saWJz dGRjKystdjMvbGlic3VwYysrL2NvbXBhcmUKQEAgLTU1MywxMCArNTUzLDEwIEBAIG5hbWVzcGFj ZSBzdGQKICAgICAgIHsKIAlpZiBjb25zdGV4cHIgKF9fZGV0YWlsOjpfXzN3YXlfYnVpbHRpbl9w dHJfY21wPF9UcCwgX1VwPikKIAkgIHsKKwkgICAgaWYgKF9fYnVpbHRpbl9pc19jb25zdGFudF9l dmFsdWF0ZWQoKSkKKwkgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8X1RwJiY+KF9fdCkgPD0+IHN0 YXRpY19jYXN0PF9VcCYmPihfX3UpOwogCSAgICBhdXRvIF9fcHQgPSBzdGF0aWNfY2FzdDxjb25z dCB2b2xhdGlsZSB2b2lkKj4oX190KTsKIAkgICAgYXV0byBfX3B1ID0gc3RhdGljX2Nhc3Q8Y29u c3Qgdm9sYXRpbGUgdm9pZCo+KF9fdSk7Ci0JICAgIGlmIChfX2J1aWx0aW5faXNfY29uc3RhbnRf ZXZhbHVhdGVkKCkpCi0JICAgICAgcmV0dXJuIF9fcHQgPD0+IF9fcHU7CiAJICAgIGF1dG8gX19p dCA9IHJlaW50ZXJwcmV0X2Nhc3Q8X19VSU5UUFRSX1RZUEVfXz4oX19wdCk7CiAJICAgIGF1dG8g X19pdSA9IHJlaW50ZXJwcmV0X2Nhc3Q8X19VSU5UUFRSX1RZUEVfXz4oX19wdSk7CiAJICAgIHJl dHVybiBfX2l0IDw9PiBfX2l1OwpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8x OF9zdXBwb3J0L2NvbXBhcmlzb25zL3BvaW50ZXJzL2NvbnN0ZXhwci5jYyBiL2xpYnN0ZGMrKy12 My90ZXN0c3VpdGUvMThfc3VwcG9ydC9jb21wYXJpc29ucy9wb2ludGVycy9jb25zdGV4cHIuY2MK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjhlMWRjMmVkNmQxCi0tLSAv ZGV2L251bGwKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8xOF9zdXBwb3J0L2NvbXBhcmlz b25zL3BvaW50ZXJzL2NvbnN0ZXhwci5jYwpAQCAtMCwwICsxLDQzIEBACisvLyBDb3B5cmlnaHQg KEMpIDIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvLworLy8gVGhpcyBmaWxl IGlzIHBhcnQgb2YgdGhlIEdOVSBJU08gQysrIExpYnJhcnkuICBUaGlzIGxpYnJhcnkgaXMgZnJl ZQorLy8gc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQg dW5kZXIgdGhlCisvLyB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5IHRoZQorLy8gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCisvLyBhbnkgbGF0ZXIgdmVyc2lvbi4KKworLy8g VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCisvLyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgorLy8gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLy8gR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KKworLy8gWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKy8vIHdpdGggdGhpcyBsaWJy YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCisvLyA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisKKy8vIHsgZGctb3B0aW9ucyAiLXN0ZD1nbnUrKzJhIiB9Cisv LyB7IGRnLWRvIGNvbXBpbGUgeyB0YXJnZXQgYysrMmEgfSB9CisKKyNpbmNsdWRlIDxmdW5jdGlv bmFsPgorCitjb25zdGV4cHIgYm9vbCBjaGVjazAxKCkKK3sKKyAgaW50IGFyclsyXTsKKyAgYm9v bCBiMSA9ICZhcnJbMF0gPCAmYXJyWzFdOworICBib29sIGIyID0gc3RkOjpsZXNze30oJmFyclsw XSwgJmFyclsxXSk7CisgIGJvb2wgYjMgPSBzdGQ6OmNvbXBhcmVfdGhyZWVfd2F5e30oJmFyclsw XSwmYXJyWzFdKSA8IDA7CisgIHJldHVybiBiMSAmJiBiMiAmJiBiMzsKK30KKworY29uc3RleHBy IGJvb2wgY2hlY2swMigpCit7CisgIGludCAqcCA9IG5ldyBpbnRbMl07CisgIGJvb2wgYjEgPSAm cFswXSA8ICZwWzFdOworICBib29sIGIyID0gc3RkOjpsZXNze30oJnBbMF0sICZwWzFdKTsKKyAg Ym9vbCBiMyA9IHN0ZDo6Y29tcGFyZV90aHJlZV93YXl7fSgmcFswXSwmcFsxXSkgPCAwOworICBk ZWxldGUgW10gcDsKKyAgcmV0dXJuIGIxICYmIGIyICYmIGIzOworfQorCitzdGF0aWNfYXNzZXJ0 KGNoZWNrMDEoKSk7CitzdGF0aWNfYXNzZXJ0KGNoZWNrMDIoKSk7Cg== --_002_VI1PR0102MB319729A5DB06060C397CD723A4C19VI1PR0102MB3197_--