From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by sourceware.org (Postfix) with ESMTPS id 8350D3858D20; Tue, 11 Apr 2023 14:54:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8350D3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1681224883; i=anlauf@gmx.de; bh=FexXnvSQOWnl3rkjtl0uGi0GbD1CuY1TztL7zLUlyq0=; h=X-UI-Sender-Class:Date:Subject:To:References:From:In-Reply-To; b=XNarf2XRNjQc4T8389RzWJpERmF4g6LbKF2kpSkf0IgYczj6+IWpAx7rooebt0oVh 0ESMWHfWYaEC5qB9Vz86RaIdLvt1wJ5cRVavopIqZ73qGXgtyYkiL1Xsth6MbVk8gI 7rlydxm6TMqUEl6LAag4EzCHUujkd2pP//rFQiCd0Xi3U3hy4BVV5604sANyeFX5KD qU3gnmZxv7sKXOWL+BcbJIi1nvWn++THFcVBj9AiSFmAFrN0Z4o2MGP5U5GynRSIAn 4c8052k90QLTIuDmCj1BruRnC8hq30c+gDWY/Vy1BHbgvBt0ojaEcDcUcJ4B+6KyVW rHfmcqTh1xxdw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.178.29] ([79.251.13.85]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MxlzC-1qaLs51fDS-00zBdk; Tue, 11 Apr 2023 16:54:43 +0200 Content-Type: multipart/mixed; boundary="------------IKMTYpSjqbjupMSlzN0kTh1G" Message-ID: <846db39b-74ea-c10c-a686-a4aa062936d7@gmx.de> Date: Tue, 11 Apr 2023 16:54:42 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: [PATCH, v2] Fortran: resolve correct generic with TYPE(C_PTR) arguments [PR61615] To: Jerry D , fortran , gcc-patches Newsgroups: gmane.comp.gcc.patches,gmane.comp.gcc.fortran References: <32181840-acbb-3e7d-74f1-3de710ef82f8@gmail.com> Content-Language: en-US From: Harald Anlauf In-Reply-To: <32181840-acbb-3e7d-74f1-3de710ef82f8@gmail.com> X-Provags-ID: V03:K1:HnkjNwc6wdO5+wOsRw8fE4RoPQxF5/wYVn5YI8WX1y+nhIdfC0M zeYfB9/fYuyBwxTkn3MuL0XrZKeD2+BPZuJU+HzQRDZu+Xj3pXZuhhY/BeMY7zVGhjIK+Tb G9wsBZajupYcBAeUg9m6s16HtXzNxfJXD5NUXrivUkXPjtmAyeATWgG9dzQcp5x1hm+C0qN opAw32Q7u/bnbTrSVW08w== UI-OutboundReport: notjunk:1;M01:P0:embAG9xUWak=;Y9Ep5FmWq35LPlu3cAzuCEhqrUq VOaurtE7S8iT0ttAIOHBCJ7UJGfq8Qsh/xqF7o+nfZnvUW/E1TyXAjIdGtGOAAtuxbIjlSo98 TczxgErrxOA4Ft+LxUtLyC7+PTsGSsR3qp2xizLe+B3bw8mIM1fGniS+wJA13rWkTBPV8qRuG 9ZGp7DaV5jYjQtW8wYFn8xsAJKmvRDbGUyk3xqTROemhugxSLTbl1wSB6Xuw3ba8t2l7Ql+KS /2aSc2cIbufDgCm3eUgOiwjv6ERaa055xa8cg18puQzv3UwAJ3SlrEmf1fa7G9mABscAn+a0k PWpddSYtRnpd9BxOPfrzifaU7opiyZh9llhh4Ku997s08TyQ+E0yvG9KT4AI8cXQvcYLJOhaj koTcFQEUdK5DtSWzAjUTfw+fa6GlUWIs898N/uuceZOkypfMoTROw3nJn0gLoMICaaZjBJZVN niFlbppWvbnqqaR7jGa348XTfjQRF6HDVQF3DKWP/vkZJXUgosdHNmj+OrGs0cGWQ4bnzlSUz IW4I3HOcgUpcGrwBaPKi9yAe0GGNZR6j5ICZNWLAGn9G5JWeEXVOvzyujWoSS0KkMg6q4Yvi2 3sDI0PhK9MbFErj2NkUcXQlmjC3ANK23oQy9AQxZILa7B7pEmhlEbSXSJVSSg5clRONBqnoaX SccoO0daBfi9k+5LYloh7+rT6vIb2eeBJ6jtkvnUipEnO4bv1BmucjCljWJu3Fjy3rBeUEMy0 4tiqw9wVLJcnR0Ie7pgGefCPe3X3/OIH5ljIguWY03CfQ3MxA9TejXHI/XDUgOyntyE5WHJ1W +ny03J/giA9M4MzBHrPjgEYrAJcRpJce0/3/ApOjJF+InUhbkJZh1y8xyjMhI4KLJ5H26SFVn 16SaoqbA5vw6jinhLKDGa1TZEtXOHiLtSLWbyPd+uIMKhBoWV7K4pXNzC2FnXhZ3o+mLlzoM4 kRGxsw== X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,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: This is a multi-part message in MIME format. --------------IKMTYpSjqbjupMSlzN0kTh1G Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable 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.=C2=A0 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--