From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2021.outbound.protection.outlook.com [40.92.91.21]) by sourceware.org (Postfix) with ESMTPS id 39EA63858C54; Wed, 18 Oct 2023 10:35:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 39EA63858C54 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-Filter: OpenARC Filter v1.0.0 sourceware.org 39EA63858C54 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.92.91.21 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697625320; cv=pass; b=slC7M/WgZVC6XcQGqN9CQNTxDoT932y41TKhhH8uePdXUr07sSQiqbwj6Jp91oOOAXAzEzmc9cYqJ5R26i/dbvKkAALZjrTaxbyG87wruTPFKrl6cjzQ6DUrsD7SWsi/Ds1a2jUrdNUyBczlEqMBw5M0CO+jZQt/yU/sHg49qfk= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1697625320; c=relaxed/simple; bh=QSBRDJvG3ulsyrBPAlDj2DU3NLTyDXxBBYbDigJvQsI=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=MN4NzmyxrQrXZ/cltXemxiSPYguC3KTDqGjT2ehWlv+p1SXntLZBfm764yG3uW9pHAYjw+fH2/IvKIINDSrqydym2kwV6BuxKmzmPc2hkhdXiYoJvzkDLiadSCzLkUKAMBgCpfLkr4/Oucn8Avl0eHTwW4h+CG8p0o+OI9aoDnA= ARC-Authentication-Results: i=2; server2.sourceware.org ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PEeH8diu+2pjUl1Gs6Klb/4fQRFn3mgNcM78j9y6BWbNi7MGPZ3ofRipb6T/cxnXAPuFYciojFqFTeHSysqDx/9HAN+THfIea5qJd5FvRYoAZ5XH/QBQWvcK6d9N3+VYRiAgFYuMd+8PnlIQNDXE6OIiEZu9ZpBLrG+J0d/DuoYLnRPz8bg/WCsydzU8U/FMrihcMwn/u2Bkxl1twP5ieOGhPHfu03KgKpTJD7gfJjCi/VfGNLd8272+vSFj7VTgVPppWBgpW/bMYsNvEQ7b7Fhy4FmHkOOXCYpw0fo2TsJn3FPMDAHGCaydTrS3u6ROSEz3wTa8h2MuCDb4lYIX1w== 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=QSBRDJvG3ulsyrBPAlDj2DU3NLTyDXxBBYbDigJvQsI=; b=SI3lrAWY71R3htqEQ5RW5gcY+4POjUWo3EmKLLrSUFgFwsueecPjPRzIvi1+ut56xzljOCIoT+1GFypiaEPG9jJ9TKYYHZrG94NGqEL8lZJcYKz70/HU23DZpKBu+yVvcWy9HipIXnIOTKNvFQRGJj9ZNP5BwF+vUdFP+4BgUW8YCYRkihgxN45zykHRlAMEZmY9V9rsYhM4DSZJ3zibYqRep+KNH3b1g5k4yXqz5ST0Av1NkcfQY1ZJ/qoiQDpoHKRJ5NnDFtVR5xOcDMsvR378ww3JQqZKq8zfh700zEkt6NH+iHkqdcDsSkP3gm96jVobyzciIXBhi0XnPlZFTg== 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=QSBRDJvG3ulsyrBPAlDj2DU3NLTyDXxBBYbDigJvQsI=; b=ckhba7v2w0K/2YguMWCWo+HyV6AWI6NzSe3LBD9RyWxF8nFuWOVjlzG5IUMCKGklHHwZpgkdBlI6OVGifdFbIH2lb2a2dDkU5SSXCXhwztKD6WyPeo4662TsaxqyeJfwdOPDnjkwkcO61OKbkqts5UbkYwtOWlc5xgejesdAPx8JpFlXr9nQzdR7t3YR4ccsLygvuhhZLmi1sMWpnT6F+mLafLfp9bRa7Hj2akklinlQPnkidxm3oKWlqB+bW/hn6rum7A+UcMBtl0zYc0emhTu/btgIwnOEtJyGAsqi1jEZLsVrlDtpr78/fknO38H5TBFqS/wnE1NaSh3CnsCF7w== Received: from AS1P192MB1620.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:4a0::7) by AM9P192MB1220.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:3ae::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.21; Wed, 18 Oct 2023 10:35:17 +0000 Received: from AS1P192MB1620.EURP192.PROD.OUTLOOK.COM ([fe80::f035:e341:1267:15e8]) by AS1P192MB1620.EURP192.PROD.OUTLOOK.COM ([fe80::f035:e341:1267:15e8%4]) with mapi id 15.20.6886.034; Wed, 18 Oct 2023 10:35:17 +0000 Message-ID: Subject: Re: [PATCH] libstdc++: testsuite: Enhance codecvt_unicode with tests for length() From: Dimitrij Mijoski To: Jonathan Wakely Cc: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org Date: Wed, 18 Oct 2023 12:35:15 +0200 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.44.4-0ubuntu2 X-TMN: [ZHZdtK7wO9rWkF8e/7RgZ911fVSvoOzC] X-ClientProxiedBy: VI1PR02CA0056.eurprd02.prod.outlook.com (2603:10a6:802:14::27) To AS1P192MB1620.EURP192.PROD.OUTLOOK.COM (2603:10a6:20b:4a0::7) X-Microsoft-Original-Message-ID: <6c25895046bffb7ff91f097d76aff1754406f58f.camel@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS1P192MB1620:EE_|AM9P192MB1220:EE_ X-MS-Office365-Filtering-Correlation-Id: 71ea8668-3b67-4719-1b90-08dbcfc5ebb5 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2mfmb7MBLpzLeXgvBJ0nMVQglj/2q8AtErGnDxT4v4xI+pBPA6t6iC/9F5orF28Aa2FhCYpCLqjZDt7sniWl4Teg3qy3k8NNTH6lvpaFA+UoEPmKOyHxuZPHLuL5KcCsnX3vEGCcWCIob8TRZ4SgDS9FI+l5Iwlxpxlwxm1qQyxNqDzMS9OuuhsPkJVelLk+/P8rUKuVHRQ1kWO1ngY6OTAL4HqAJHMgXqlKyHv2j002LCN5li4+jYdQ6579R4h3l7yEzvtmBS1VzwfwTXxSubC9nKwMM7+j0j6ltbn/bJK1EqbTQ9uplsT1HxzLmpZbaYLQFE3Qwhpr5ZK7qqRnVUjnG/jFHMKsFclBrBqZ1Ddvyof4V1IdJlwnttTMDAmkKINwUTHWHe2SGGxPwffSplS+VZfJuA0kVAd+1tuIjzVvg9wqZnSgXYIZNosJ6jiXpWs4v3OFgadjTENghLIAkfkaKZEZeVPbtPRVXPp8jp0K8n0Jwa1Mow0IYASY8ph3s82Jij42wSec8hlxpO+OXNg9UoD2y6/T+UahLqfoCRHWWyjbuYcFonomXo7gYj+g X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bGhDVUhPMUtVanBDNkRtZmViODRsN25HdFcwMmg3YUNxTTZwQm9CQ1ArL2U3?= =?utf-8?B?ZngwZnQ4SVpudHVVcUllUjRMS0pSSkV0QXRsYmd4TzdDYW51K2EwRkxPWUZP?= =?utf-8?B?MVR0M2lPb1lLaGFqSHVhOXdXTGdUVXMrY1lENHIzOGJqMW9LMkd4UjJiZ0gv?= =?utf-8?B?Ny9XVlNRMkhzazBiUkVMS1BXWUMzRXRCUFV6enJzRldFVDQybmRyNmloa2ly?= =?utf-8?B?NCtjd0t6Z3lodVJPWHBTUkIrL0Q5YlNvdFJjOW9RMVJCWUZDUmhyTEhkTVo5?= =?utf-8?B?clIreVlCcmVIMXJYdjF3RmhHTDd1VVJhVXd4MU1QUUdnRDJocjJMaVRxTlU0?= =?utf-8?B?K1FQN1ZCWDcxM3JYOU1RU3hBTUYra0tCUGFXVWZaa0QxZklxc3E1NjVkcWs1?= =?utf-8?B?V2xGMi90SlNIc2pBcWVhSmhSYXhoTnpxaDd1L1p6QVdmRHl5aHRXckYxYkN3?= =?utf-8?B?Vkp5VFEwZnp4a0o3Q0Z1U2VaMnlEbENHUTYwRlduTnNrRHl5SG5oMnpwaUxV?= =?utf-8?B?TzhoZ1BTeHlWcXNuaFdlR1NPeC9tbW5WWUx0YjZnTVdTaXErQjJwcDRjMTRJ?= =?utf-8?B?a1gzQzhhMTZQa1hlS2RHRVMzY0lpWkFtRGhWSEZqYXZoKzBkb1pabWFadXJX?= =?utf-8?B?QU5EeGJaUEkydnBzeFNmWUdFUFQ5NFNhaTRSTDZrYnB5T3NkM1lFRVNMQkxP?= =?utf-8?B?dG5Wb2hjaUd3YVY4U2pnUW5vUTZuM2Zpa3JTaUZCRG44NUx0bnRsSTY1UXF4?= =?utf-8?B?ZDRuOTJMbnFEZEdvbHV4NGpmbTM0ekNGclJGLzZweXVVbk8yL2UvMzI1Qnlv?= =?utf-8?B?STlvT1NzaXNtQmVPSHBMeVlIc1dCaEhoVjZuVlIyVURpdDJsRGl5dEc3Z1Ax?= =?utf-8?B?TFprRkZaMlR5cE1JU09yKy9qa1ExYW1Vbk16Y1RnMm9MczArUmxyNUJVWEE2?= =?utf-8?B?MTZWQjdkU0FUY2c1ejNIQmVqMUdRQ0dJS0RmNGFlNTZDK1lnTTBVc054OXpp?= =?utf-8?B?UEwrUXNlQ0hmSjIwcm5Qa1JWSzhxS2JvMXVvcHMvTEpnK2pQaFdhNk94TGdN?= =?utf-8?B?VmN4bnRVRzZadEhGa3FkS253UUdPZ2VpMVR3MHRZQXFFb0V4RldhdU0xZWor?= =?utf-8?B?M1JNSDhuMkdOYy9WZ1RtaUhQRHRkNUk3L1B6MVliVW1lZVYyanVRUkRXblc5?= =?utf-8?B?WTluMlJxcGRkWkVzL1FTRkZBdWovbFoveHQ4UXl4ZytQOE1kek9TRGhSRGNX?= =?utf-8?B?azlSc2VBd3VFbnY2bkorbjBYQWFGOUs3cHRYV3AzY29naE5NRkxXSnE4TUZG?= =?utf-8?B?dkxsUXRpdFdSTVZaQkpDSEJ2ZmIvYi95YzlJK2lLVmpQTFNTaGJ2enNSc3Bu?= =?utf-8?B?bUg1SVdhZm5WeTZub2xjMWxLZnQzcVZqNmZvMm43Y21oMXNwN1JWd1ZEQ2VD?= =?utf-8?B?SVV1bU5JN3U2ckVUNUlLd0hxajZtS2poUzIxTHg0SUpoTVgzWjNqTDU3ZklB?= =?utf-8?B?cHRZTytRRmVTR2crTmxKcUF1eXh3bzJWcmI3bmpiclgvWVU4djNwa1hlZE9F?= =?utf-8?B?TXpTWnZrWXRYYk4yRDFLdUlKVlEycmt6RG8zOGpoY1J1bmJ3ZnhRaG5QK2U2?= =?utf-8?B?QUI5eUs0dkRXNU93WWNxTFdwMjh1UFE9PQ==?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-fb43a.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 71ea8668-3b67-4719-1b90-08dbcfc5ebb5 X-MS-Exchange-CrossTenant-AuthSource: AS1P192MB1620.EURP192.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Oct 2023 10:35:17.7059 (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: AM9P192MB1220 X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HK_RANDOM_ENVFROM,HK_RANDOM_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Wed, 2023-10-18 at 10:52 +0100, Jonathan Wakely wrote: > On Tue, 17 Oct 2023 at 23:51, Dimitrij Mijoski wrote: > >=20 > > We can test codecvt::length() with the same data that we test > > codecvt::in(). For each call of in() we add another call to length(). > > Some additional small cosmentic changes are applied. >=20 > Thanks! I'll get this applied. I think I have an improvement to this patch, see bellow. > > @@ -79,6 +78,10 @@ utf8_to_utf32_in_ok (const std::codecvt &cvt) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 VERIFY (char_traits::comp= are (out, exp, t.out_size) =3D=3D 0); > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (t.out_size < array_size (out)) > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 VERIFY (out[t.out_size] =3D= =3D 0); > > + > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 state =3D {}; > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 auto len =3D cvt.length (state, in, in = + t.in_size, t.out_size); > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 VERIFY (len =3D=3D t.in_size); > > =C2=A0=C2=A0=C2=A0=C2=A0 } > >=20 > > =C2=A0=C2=A0 for (auto t : offsets) Notice that codecvt::length() return type is (signed) int that should never be negative. Still because t.in_size is size_t the assertion may generate some warnings. In theory that assrtion can be done like this: VERIFY(len >=3D 0); VERIFY(static_cast(len) =3D=3D t.in_size);