From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ciao.gmane.io (ciao.gmane.io [116.202.254.214]) by sourceware.org (Postfix) with ESMTPS id 066663858C2C for ; Tue, 11 Apr 2023 14:54:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 066663858C2C Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=m.gmane-mx.org Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1pmFOS-0003oz-U4 for gcc-patches@gcc.gnu.org; Tue, 11 Apr 2023 16:54:48 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: gcc-patches@gcc.gnu.org From: Harald Anlauf Subject: [PATCH, v2] Fortran: resolve correct generic with TYPE(C_PTR) arguments [PR61615] Date: Tue, 11 Apr 2023 16:54:42 +0200 Message-ID: <846db39b-74ea-c10c-a686-a4aa062936d7@gmx.de> References: <32181840-acbb-3e7d-74f1-3de710ef82f8@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------IKMTYpSjqbjupMSlzN0kTh1G" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Content-Language: en-US In-Reply-To: <32181840-acbb-3e7d-74f1-3de710ef82f8@gmail.com> Cc: fortran@gcc.gnu.org X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_NONE,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: Message-ID: <20230411145442.C4qrdxBeUcip0VpGAk2PzU_HV13Z3vzgVACc-KNgTVQ@z> This is a multi-part message in MIME format. --------------IKMTYpSjqbjupMSlzN0kTh1G Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Jerry, all, On 4/11/23 02:43, Jerry D via Gcc-patches wrote: > On 4/10/23 1:49 PM, Harald Anlauf via Fortran wrote: >> Dear all, >> >> when comparing formal and actual arguments of a procedure, there was no >> check of rank for derived types from intrinsic module ISO_C_BINDING. >> This could lead to a wrong resolution of generic procedures with dummy >> argument of related types, see PR.  This was likely an oversight. >> >> The attached fix is simple and regtests cleanly on x86_64-pc-linux-gnu. >> >> OK for mainline? >> >> Thanks, >> Harald >> > > Looks good to go. > > Jerry I actually found a flaw in the previous patch regarding the handling of rank, and also realized that a comparison of the types was missing for those from this intrinsic module (and found the related PR99982). I updated the patch accordingly and extended the testcase, see attached. Regtests cleanly on x86_64-pc-linux-gnu. Will wait for 24h for more comments. Thanks, Harald --------------IKMTYpSjqbjupMSlzN0kTh1G Content-Type: text/x-patch; charset=UTF-8; name="pr61615-v2.diff" Content-Disposition: attachment; filename="pr61615-v2.diff" Content-Transfer-Encoding: base64 RnJvbSAzZmE5ZDJlZTk5YWZhMzhmNDJjMjY3ZDE3YWVkNTI2NmRhYTIyZGJjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXJhbGQgQW5sYXVmIDxhbmxhdWZAZ214LmRlPgpE YXRlOiBUdWUsIDExIEFwciAyMDIzIDE2OjQ0OjMyICswMjAwClN1YmplY3Q6IFtQQVRDSF0g Rm9ydHJhbjogcmVzb2x2ZSBjb3JyZWN0IGdlbmVyaWMgd2l0aCBUWVBFKENfUFRSKSBhcmd1 bWVudHMKIFtQUjYxNjE1LFBSOTk5ODJdCgpnY2MvZm9ydHJhbi9DaGFuZ2VMb2c6CgoJUFIg Zm9ydHJhbi82MTYxNQoJUFIgZm9ydHJhbi85OTk4MgoJKiBpbnRlcmZhY2UuY2MgKGNvbXBh cmVfcGFyYW1ldGVyKTogRW5hYmxlIHR5cGUgYW5kIHJhbmsgY2hlY2tzIGZvcgoJYXJndW1l bnRzIG9mIGRlcml2ZWQgdHlwZSBmcm9tIHRoZSBpbnRyaW5zaWMgbW9kdWxlIElTT19DX0JJ TkRJTkcuCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCglQUiBmb3J0cmFuLzYxNjE1CglQ UiBmb3J0cmFuLzk5OTgyCgkqIGdmb3J0cmFuLmRnL2ludGVyZmFjZV80OS5mOTA6IE5ldyB0 ZXN0LgotLS0KIGdjYy9mb3J0cmFuL2ludGVyZmFjZS5jYyAgICAgICAgICAgICAgICAgICB8 IDE4ICsrKy0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvaW50ZXJmYWNlXzQ5LmY5MCB8 IDk1ICsrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTEyIGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2ludGVyZmFjZV80OS5mOTAKCmRpZmYgLS1naXQgYS9nY2MvZm9y dHJhbi9pbnRlcmZhY2UuY2MgYi9nY2MvZm9ydHJhbi9pbnRlcmZhY2UuY2MKaW5kZXggZGI3 OWIxMDRkYzIuLmU5ODQzZTk1NDljIDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi9pbnRlcmZh Y2UuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vaW50ZXJmYWNlLmNjCkBAIC0yMzYxLDcgKzIzNjEs MjMgQEAgY29tcGFyZV9wYXJhbWV0ZXIgKGdmY19zeW1ib2wgKmZvcm1hbCwgZ2ZjX2V4cHIg KmFjdHVhbCwKICAgICAgICYmIGZvcm1hbC0+dHMudS5kZXJpdmVkICYmIGZvcm1hbC0+dHMu dS5kZXJpdmVkLT50cy5pc19pc29fYwogICAgICAgJiYgYWN0dWFsLT50cy50eXBlID09IEJU X0RFUklWRUQKICAgICAgICYmIGFjdHVhbC0+dHMudS5kZXJpdmVkICYmIGFjdHVhbC0+dHMu dS5kZXJpdmVkLT50cy5pc19pc29fYykKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICB7CisgICAg ICBpZiAoZm9ybWFsLT50cy51LmRlcml2ZWQtPmludG1vZF9zeW1faWQKKwkgICE9IGFjdHVh bC0+dHMudS5kZXJpdmVkLT5pbnRtb2Rfc3ltX2lkKQorCXJldHVybiBmYWxzZTsKKworICAg ICAgaWYgKHJhbmtzX211c3RfYWdyZWUKKwkgICYmIHN5bWJvbF9yYW5rIChmb3JtYWwpICE9 IGFjdHVhbC0+cmFuaworCSAgJiYgc3ltYm9sX3JhbmsgKGZvcm1hbCkgIT0gLTEpCisJewor CSAgaWYgKHdoZXJlKQorCSAgICBhcmd1bWVudF9yYW5rX21pc21hdGNoIChmb3JtYWwtPm5h bWUsICZhY3R1YWwtPndoZXJlLAorCQkJCSAgICBzeW1ib2xfcmFuayAoZm9ybWFsKSwgYWN0 dWFsLT5yYW5rLAorCQkJCSAgICBOVUxMKTsKKwkgIHJldHVybiBmYWxzZTsKKwl9CisgICAg ICByZXR1cm4gdHJ1ZTsKKyAgICB9CiAKICAgaWYgKGZvcm1hbC0+dHMudHlwZSA9PSBCVF9D TEFTUyAmJiBhY3R1YWwtPnRzLnR5cGUgPT0gQlRfREVSSVZFRCkKICAgICAvKiBNYWtlIHN1 cmUgdGhlIHZ0YWIgc3ltYm9sIGlzIHByZXNlbnQgd2hlbgpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9pbnRlcmZhY2VfNDkuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9pbnRlcmZhY2VfNDkuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi5hZWY1ZTBjNjYwOQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvaW50ZXJmYWNlXzQ5LmY5MApAQCAtMCwwICsxLDk1IEBACish IHsgZGctZG8gcnVuIH0KKyEgUFIgZm9ydHJhbi82MTYxNSAtIHJlc29sdmUgY29ycmVjdCBn ZW5lcmljIHdpdGggVFlQRShDX1BUUikgYXJndW1lbnRzCishIFBSIGZvcnRyYW4vOTk5ODIg LSBkdG8uIHdpdGggQ19QVFIgYW5kIENfRlVOUFRSCishIENvbnRyaWJ1dGVkIGJ5IEphY29i IEFiZWwgYW5kIFNjb3QgQnJlaXRlbmZlbGQKKworTU9EVUxFIGZvbworICBVU0UgaXNvX2Nf YmluZGluZywgb25seSA6IGNfcHRyLCBjX2Z1bnB0cgorICBJTVBMSUNJVCBOT05FCisgIGlu dGVnZXIgICAgICA6OiByYW5rID0gLTk5CisgIGNoYXJhY3Rlcig4KSA6OiBjdHlwID0gIiIK KyAgSU5URVJGQUNFIGJhcgorICAgIE1PRFVMRSBQUk9DRURVUkUgYmFyX3MKKyAgICBNT0RV TEUgUFJPQ0VEVVJFIGJhcl9hMWQKKyAgICBNT0RVTEUgUFJPQ0VEVVJFIGJhcl9hMmQKKyAg ICBNT0RVTEUgUFJPQ0VEVVJFIGJhcl9mcAorICAgIE1PRFVMRSBQUk9DRURVUkUgYmFyX2Zw MQorICAgIE1PRFVMRSBQUk9DRURVUkUgYmFyX2ZweAorICBFTkQgSU5URVJGQUNFIGJhcgor Q09OVEFJTlMKKyAgU1VCUk9VVElORSBiYXJfcyhhKQorICAgIFRZUEUoY19wdHIpIDo6IGEK KyAgICBXUklURSAoMCwgKikgJ2luIGJhcl9zJworICAgIHJhbmsgPSAwCisgICAgY3R5cCA9 ICJjX3B0ciIKKyAgRU5EIFNVQlJPVVRJTkUgYmFyX3MKKworICBTVUJST1VUSU5FIGJhcl9h MWQoYSkKKyAgICBUWVBFKGNfcHRyKSA6OiBhKDopCisgICAgV1JJVEUgKDAsICopICdpbiBi YXJfYTFkJworICAgIHJhbmsgPSAxCisgICAgY3R5cCA9ICJjX3B0ciIKKyAgRU5EIFNVQlJP VVRJTkUgYmFyX2ExZAorCisgIFNVQlJPVVRJTkUgYmFyX2EyZChhKQorICAgIFRZUEUoY19w dHIpIDo6IGEoOiw6KQorICAgIFdSSVRFICgwLCAqKSAnaW4gYmFyX2EyZCcKKyAgICByYW5r ID0gMgorICAgIGN0eXAgPSAiY19wdHIiCisgIEVORCBTVUJST1VUSU5FIGJhcl9hMmQKKwor ICBTVUJST1VUSU5FIGJhcl9mcChhKQorICAgIFRZUEUoY19mdW5wdHIpIDo6IGEKKyAgICBX UklURSAoMCwgKikgJ2luIGJhcl9mcCcKKyAgICByYW5rID0gMAorICAgIGN0eXAgPSAiY19m dW5wdHIiCisgIEVORCBTVUJST1VUSU5FIGJhcl9mcAorCisgIFNVQlJPVVRJTkUgYmFyX2Zw MShhKQorICAgIFRZUEUoY19mdW5wdHIpIDo6IGEoOikKKyAgICBXUklURSAoMCwgKikgJ2lu IGJhcl9mcDEnCisgICAgcmFuayA9IDEKKyAgICBjdHlwID0gImNfZnVucHRyIgorICBFTkQg U1VCUk9VVElORSBiYXJfZnAxCisKKyAgU1VCUk9VVElORSBiYXJfZnB4KGEsIGIpCisgICAg VFlQRShjX2Z1bnB0cikgOjogYSguLikKKyAgICBUWVBFKGNfcHRyKSAgICA6OiBiCisgICAg V1JJVEUgKDAsICopICdpbiBiYXJfZnB4JworICAgIHJhbmsgPSAtMQorICAgIGN0eXAgPSAi Y19mdW5wdHIiCisgIEVORCBTVUJST1VUSU5FIGJhcl9mcHgKK0VORCBNT0RVTEUgZm9vCisK K1BST0dSQU0gY3B0cl9hcnJheV92c19zY2FsYXJfYXJnCisgIFVTRSBmb28KKyAgVVNFIGlz b19jX2JpbmRpbmcsIG9ubHkgOiBjX3B0ciwgY19sb2MsIGNfZnVucHRyCisgIElNUExJQ0lU IE5PTkUKKyAgSU5URUdFUiwgVEFSR0VUIDo6IGkKKyAgVFlQRShjX3B0cikgICAgIDo6IGEs IGIoMSksIGMoMSwxKQorICB0eXBlKGNfZnVucHRyKSAgOjogZnAsIGZwMSgxKSwgZnAyKDEs MSkKKyAgYSAgICA9IENfTE9DKGkpCisgIGIoMSkgPSBDX0xPQyhpKQorICBDQUxMIGJhcihh KQorICBpZiAocmFuayAvPSAwIC5vci4gY3R5cCAvPSAiY19wdHIiKSBzdG9wIDEKKyAgQ0FM TCBiYXIoYikKKyAgaWYgKHJhbmsgLz0gMSAub3IuIGN0eXAgLz0gImNfcHRyIikgc3RvcCAy CisgIENBTEwgYmFyKGMpCisgIGlmIChyYW5rIC89IDIgLm9yLiBjdHlwIC89ICJjX3B0ciIp IHN0b3AgMworICByYW5rID0gLTk5CisgIGN0eXAgPSAiIgorICBDQUxMIGJhcigoYSkpCisg IGlmIChyYW5rIC89IDAgLm9yLiBjdHlwIC89ICJjX3B0ciIpIHN0b3AgNAorICBDQUxMIGJh cigoYikpCisgIGlmIChyYW5rIC89IDEgLm9yLiBjdHlwIC89ICJjX3B0ciIpIHN0b3AgNQor ICByYW5rID0gLTk5CisgIGN0eXAgPSAiIgorICBDQUxMIGJhcihmcCkKKyAgaWYgKHJhbmsg Lz0gMCAub3IuIGN0eXAgLz0gImNfZnVucHRyIikgc3RvcCA2CisgIENBTEwgYmFyKGZwMSkK KyAgaWYgKHJhbmsgLz0gMSAub3IuIGN0eXAgLz0gImNfZnVucHRyIikgc3RvcCA3CisgIHJh bmsgPSAtOTkKKyAgY3R5cCA9ICIiCisgIENBTEwgYmFyKGZwMiwgYSkKKyAgaWYgKHJhbmsg Lz0gLTEgLm9yLiBjdHlwIC89ICJjX2Z1bnB0ciIpIHN0b3AgOAorRU5EIFBST0dSQU0gY3B0 cl9hcnJheV92c19zY2FsYXJfYXJnCi0tIAoyLjM1LjMKCg== --------------IKMTYpSjqbjupMSlzN0kTh1G--