From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qv1-xf2b.google.com (mail-qv1-xf2b.google.com [IPv6:2607:f8b0:4864:20::f2b]) by sourceware.org (Postfix) with ESMTPS id 698783835418; Wed, 12 May 2021 12:35:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 698783835418 Received: by mail-qv1-xf2b.google.com with SMTP id jm10so11899899qvb.5; Wed, 12 May 2021 05:35:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+SVxECdX36enyYEoH8fKaYVDE/ZiwsWFF4wqQU+Xn9k=; b=i7G9IvI4MUB1JrwU7pxw2lCQoFWjpUAS34B+QG7qwugWJNUCIHhZ/D2etdlm4ysydL q6KFPu/RAHRIZxcDlodVA267rKCuwwlFDfxuZJ7a/6VhAGOk0eGu6CXjjJGoRBBSDIFU DgEAuuk3oTHLSay5wvQ7OQyVshnLvScPAjrLloSlf1YqHHoHQi5EycXowe9oHvxRhDLJ QdecA/Ip/3qtWKWd4V5LCAHttFENm68SmoA/82ICFbTNZ0KDRdnxPKl7+fglFb1xeeEO s5Y88nhqc+ENFqmwI4js2QZvw6wKDGamOYMmd8+dpPWRbrI7KrA2Xl8tAUJGKKRpCHqn Yd6Q== X-Gm-Message-State: AOAM533Krgv7XFfxHKd1hZwhbq42+nMMClxwR3rZiKPR1wpj3mawGnGE EDJs4avmGWsxWj5EN2w+EHAHT4QUj4Gm0F5/umM= X-Google-Smtp-Source: ABdhPJzsc5xTx1DXzt0Nm/XuGU+XRys2yBIMSy+YAxbzXk6uQk9jUopFZXvtwFuZyN0DtKRhmelMOEO403XaW9qgHjE= X-Received: by 2002:a0c:8d0b:: with SMTP id r11mr19367607qvb.22.1620822929052; Wed, 12 May 2021 05:35:29 -0700 (PDT) MIME-Version: 1.0 References: <20210511200031.GZ3008@redhat.com> <20210512091833.GA3008@redhat.com> In-Reply-To: From: Antony Polukhin Date: Wed, 12 May 2021 15:35:17 +0300 Message-ID: Subject: Re: [PATCH] PR libstdc++/89728 diagnose some missuses of [locale.convenience] functions To: Jonathan Wakely Cc: "libstdc++" , gcc-patches List Content-Type: multipart/mixed; boundary="000000000000ee418d05c2213e16" X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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: Wed, 12 May 2021 12:35:32 -0000 --000000000000ee418d05c2213e16 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable =D1=81=D1=80, 12 =D0=BC=D0=B0=D1=8F 2021 =D0=B3. =D0=B2 12:58, Antony Poluk= hin : <...> > Should we care about those users? Looks like the answer is "yes". There are tests for that in 22_locale/ctype/requirements/explicit_instantiation.cc and 22_locale/money_get/cons/3.cc Attaching a patch with review fixes (with ctype specialization for basic_st= ring) --=20 Best regards, Antony Polukhin --000000000000ee418d05c2213e16 Content-Type: text/plain; charset="US-ASCII"; name="ctype_compile_time_diag-3.txt" Content-Disposition: attachment; filename="ctype_compile_time_diag-3.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kolg3pf80 ZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvbG9jYWxlX2ZhY2V0cy5oIGIv bGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmgKaW5kZXggMDM3MjRjZi4u YmJkN2RhNSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9sb2NhbGVfZmFj ZXRzLmgKKysrIGIvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9sb2NhbGVfZmFjZXRzLmgKQEAg LTY3MSw2ICs2NzEsMTkgQEAgX0dMSUJDWFhfQkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgdGVt cGxhdGU8dHlwZW5hbWUgX0NoYXJUPgogICAgIGxvY2FsZTo6aWQgY3R5cGU8X0NoYXJUPjo6aWQ7 CiAKKyAgLy8gQ29tcGlsZSB0aW1lIGRpYWdub3N0aWNzIGZvciBjb21tb24gbWlzdXNlIG9mIFts b2NhbGUuY29udmVuaWVuY2VdCisgIC8vIGZ1bmN0aW9ucyB3aXRoIGJhc2ljX3N0cmluZyBhcyBh IGNoYXJhY3RlciB0eXBlLgorICB0ZW1wbGF0ZTx0eXBlbmFtZSBfQ2hhclQsIHR5cGVuYW1lIF9U cmFpdHMsIHR5cGVuYW1lIF9BbGxvYz4KKyAgICBjbGFzcyBjdHlwZTxiYXNpY19zdHJpbmc8X0No YXJULCBfVHJhaXRzLCBfQWxsb2M+ID4KKyAgICB7CisjaWYgX19jcGx1c3BsdXMgPj0gMjAxMTAz TAorICAgICAgc3RhdGljX2Fzc2VydChzaXplb2YoX0NoYXJUKSAmJiBmYWxzZSwKKwkJICAgICJz dGQ6OmJhc2ljX3N0cmluZyB1c2VkIGFzIGEgY2hhcmFjdGVyIHR5cGUiKTsKKyNlbmRpZgorICAg ICAgY3R5cGUoKTsKKyAgICAgIH5jdHlwZSgpOworICAgIH07CisKICAgLyoqCiAgICAqICBAYnJp ZWYgIFRoZSBjdHlwZTxjaGFyPiBzcGVjaWFsaXphdGlvbi4KICAgICogIEBpbmdyb3VwIGxvY2Fs ZXMKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjJfbG9jYWxlL2N0eXBlL2lz L3N0cmluZy84OTcyOF9uZWcuY2MgYi9saWJzdGRjKystdjMvdGVzdHN1aXRlLzIyX2xvY2FsZS9j dHlwZS9pcy9zdHJpbmcvODk3MjhfbmVnLmNjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjI2OGUwM2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzdGRjKystdjMvdGVzdHN1aXRl LzIyX2xvY2FsZS9jdHlwZS9pcy9zdHJpbmcvODk3MjhfbmVnLmNjCkBAIC0wLDAgKzEsNzUgQEAK Ky8vIHsgZGctZG8gY29tcGlsZSB9CisKKy8vIENvcHlyaWdodCAoQykgMjAyMSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIEluYy4KKy8vCisvLyBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05V IElTTyBDKysgTGlicmFyeS4gIFRoaXMgbGlicmFyeSBpcyBmcmVlCisvLyBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciB0aGUKKy8vIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisv LyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMsIG9yIChhdCB5b3Vy IG9wdGlvbikKKy8vIGFueSBsYXRlciB2ZXJzaW9uLgorCisvLyBUaGlzIGxpYnJhcnkgaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy8vIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisv LyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCisvLyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor CisvLyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhbG9uZworLy8gd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD T1BZSU5HMy4gIElmIG5vdCBzZWUKKy8vIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K KworLy8geyBkZy1lcnJvciAiYmFzaWNfc3RyaW5nIHVzZWQgYXMgYSBjaGFyYWN0ZXIgdHlwZSIg IiIgeyB0YXJnZXQgYysrMTEgfSAwIH0KKy8vIHsgZGctZXJyb3IgImlzIG5vdCBhIG1lbWJlciBv ZiIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0KKy8vIHsgZGctZXJyb3IgImhhcyBubyBtZW1iZXIg bmFtZWQiICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9CisKKyNpbmNsdWRlIDxsb2NhbGU+CisKK3Rl bXBsYXRlIDxjbGFzcyBDaGFyLCBpbnQgST4KK3N0cnVjdCB0cmFpdDogc3RkOjpjaGFyX3RyYWl0 czxDaGFyPiB7fTsKKwordGVtcGxhdGUgPGNsYXNzIENoYXIsIGludCBJPgorc3RkOjpiYXNpY19z dHJpbmc8Q2hhciwgdHJhaXQ8Q2hhciwgST4gPiBtYWtlX3N0cigpCit7CisgIHJldHVybiBzdGQ6 OmJhc2ljX3N0cmluZzxDaGFyLCB0cmFpdDxDaGFyLCBJPiA+KCk7Cit9CisKK3ZvaWQgdGVzdDAx KCkKK3sKKyAgY29uc3Qgc3RkOjpsb2NhbGUmIGxvYyA9IHN0ZDo6bG9jYWxlOjpjbGFzc2ljKCk7 CisKKyAgc3RkOjppc3NwYWNlKHN0ZDo6c3RyaW5ne30sIGxvYyk7CQkvLyB7IGRnLWVycm9yICJy ZXF1aXJlZCBmcm9tIGhlcmUiIH0KKyAgc3RkOjppc3ByaW50KG1ha2Vfc3RyPGNoYXIsIDA+KCks IGxvYyk7CS8vIHsgZGctZXJyb3IgInJlcXVpcmVkIGZyb20gaGVyZSIgfQorICBzdGQ6OmlzY250 cmwobWFrZV9zdHI8Y2hhciwgMT4oKSwgbG9jKTsJLy8geyBkZy1lcnJvciAicmVxdWlyZWQgZnJv bSBoZXJlIiB9CisgIHN0ZDo6aXN1cHBlcihtYWtlX3N0cjxjaGFyLCAyPigpLCBsb2MpOwkvLyB7 IGRnLWVycm9yICJyZXF1aXJlZCBmcm9tIGhlcmUiIH0KKyAgc3RkOjppc2xvd2VyKG1ha2Vfc3Ry PGNoYXIsIDM+KCksIGxvYyk7CS8vIHsgZGctZXJyb3IgInJlcXVpcmVkIGZyb20gaGVyZSIgfQor ICBzdGQ6OmlzYWxwaGEobWFrZV9zdHI8Y2hhciwgND4oKSwgbG9jKTsJLy8geyBkZy1lcnJvciAi cmVxdWlyZWQgZnJvbSBoZXJlIiB9CisgIHN0ZDo6aXNkaWdpdChtYWtlX3N0cjxjaGFyLCA1Pigp LCBsb2MpOwkvLyB7IGRnLWVycm9yICJyZXF1aXJlZCBmcm9tIGhlcmUiIH0KKyAgc3RkOjppc3B1 bmN0KG1ha2Vfc3RyPGNoYXIsIDY+KCksIGxvYyk7CS8vIHsgZGctZXJyb3IgInJlcXVpcmVkIGZy b20gaGVyZSIgfQorICBzdGQ6OmlzeGRpZ2l0KG1ha2Vfc3RyPGNoYXIsIDc+KCksIGxvYyk7CS8v IHsgZGctZXJyb3IgInJlcXVpcmVkIGZyb20gaGVyZSIgfQorICBzdGQ6OmlzYWxudW0obWFrZV9z dHI8Y2hhciwgOD4oKSwgbG9jKTsJLy8geyBkZy1lcnJvciAicmVxdWlyZWQgZnJvbSBoZXJlIiB9 CisgIHN0ZDo6aXNncmFwaChtYWtlX3N0cjxjaGFyLCA5PigpLCBsb2MpOwkvLyB7IGRnLWVycm9y ICJyZXF1aXJlZCBmcm9tIGhlcmUiIH0KKyAgc3RkOjppc2JsYW5rKG1ha2Vfc3RyPGNoYXIsIDEw PigpLCBsb2MpOwkvLyB7IGRnLWVycm9yICJyZXF1aXJlZCBmcm9tIGhlcmUiIH0KKyAgc3RkOjp0 b3VwcGVyKG1ha2Vfc3RyPGNoYXIsIDExPigpLCBsb2MpOwkvLyB7IGRnLWVycm9yICJyZXF1aXJl ZCBmcm9tIGhlcmUiIH0KKyAgc3RkOjp0b2xvd2VyKG1ha2Vfc3RyPGNoYXIsIDEyPigpLCBsb2Mp OwkvLyB7IGRnLWVycm9yICJyZXF1aXJlZCBmcm9tIGhlcmUiIH0KK30KKworI2lmZGVmIF9HTElC Q1hYX1VTRV9XQ0hBUl9UCit2b2lkIHRlc3QwMigpCit7CisgIGNvbnN0IHN0ZDo6bG9jYWxlJiBs b2MgPSBzdGQ6OmxvY2FsZTo6Y2xhc3NpYygpOworCisgIHN0ZDo6aXNzcGFjZShzdGQ6OndzdHJp bmd7fSwgbG9jKTsJCS8vIHsgZGctZXJyb3IgInJlcXVpcmVkIGZyb20gaGVyZSIgfQorICBzdGQ6 OmlzcHJpbnQobWFrZV9zdHI8d2NoYXJfdCwgMD4oKSwgbG9jKTsJLy8geyBkZy1lcnJvciAicmVx dWlyZWQgZnJvbSBoZXJlIiB9CisgIHN0ZDo6aXNjbnRybChtYWtlX3N0cjx3Y2hhcl90LCAxPigp LCBsb2MpOwkvLyB7IGRnLWVycm9yICJyZXF1aXJlZCBmcm9tIGhlcmUiIH0KKyAgc3RkOjppc3Vw cGVyKG1ha2Vfc3RyPHdjaGFyX3QsIDI+KCksIGxvYyk7CS8vIHsgZGctZXJyb3IgInJlcXVpcmVk IGZyb20gaGVyZSIgfQorICBzdGQ6OmlzbG93ZXIobWFrZV9zdHI8d2NoYXJfdCwgMz4oKSwgbG9j KTsJLy8geyBkZy1lcnJvciAicmVxdWlyZWQgZnJvbSBoZXJlIiB9CisgIHN0ZDo6aXNhbHBoYSht YWtlX3N0cjx3Y2hhcl90LCA0PigpLCBsb2MpOwkvLyB7IGRnLWVycm9yICJyZXF1aXJlZCBmcm9t IGhlcmUiIH0KKyAgc3RkOjppc2RpZ2l0KG1ha2Vfc3RyPHdjaGFyX3QsIDU+KCksIGxvYyk7CS8v IHsgZGctZXJyb3IgInJlcXVpcmVkIGZyb20gaGVyZSIgfQorICBzdGQ6OmlzcHVuY3QobWFrZV9z dHI8d2NoYXJfdCwgNj4oKSwgbG9jKTsJLy8geyBkZy1lcnJvciAicmVxdWlyZWQgZnJvbSBoZXJl IiB9CisgIHN0ZDo6aXN4ZGlnaXQobWFrZV9zdHI8d2NoYXJfdCwgNz4oKSwgbG9jKTsJLy8geyBk Zy1lcnJvciAicmVxdWlyZWQgZnJvbSBoZXJlIiB9CisgIHN0ZDo6aXNhbG51bShtYWtlX3N0cjx3 Y2hhcl90LCA4PigpLCBsb2MpOwkvLyB7IGRnLWVycm9yICJyZXF1aXJlZCBmcm9tIGhlcmUiIH0K KyAgc3RkOjppc2dyYXBoKG1ha2Vfc3RyPHdjaGFyX3QsIDk+KCksIGxvYyk7CS8vIHsgZGctZXJy b3IgInJlcXVpcmVkIGZyb20gaGVyZSIgfQorICBzdGQ6OmlzYmxhbmsobWFrZV9zdHI8d2NoYXJf dCwgMTA+KCksIGxvYyk7CS8vIHsgZGctZXJyb3IgInJlcXVpcmVkIGZyb20gaGVyZSIgfQorICBz dGQ6OnRvdXBwZXIobWFrZV9zdHI8d2NoYXJfdCwgMTE+KCksIGxvYyk7CS8vIHsgZGctZXJyb3Ig InJlcXVpcmVkIGZyb20gaGVyZSIgfQorICBzdGQ6OnRvbG93ZXIobWFrZV9zdHI8d2NoYXJfdCwg MTI+KCksIGxvYyk7CS8vIHsgZGctZXJyb3IgInJlcXVpcmVkIGZyb20gaGVyZSIgfQorfQorI2Vu ZGlmCg== --000000000000ee418d05c2213e16--