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 B0C6E3856DF4 for ; Wed, 27 Jul 2022 19:45:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B0C6E3856DF4 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1oGmyf-0008HH-Bx for fortran@gcc.gnu.org; Wed, 27 Jul 2022 21:45:53 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: fortran@gcc.gnu.org From: Harald Anlauf Subject: [PATCH, v2] Fortran: fix invalid rank error in ASSOCIATED when rank is remapped [PR77652] Date: Wed, 27 Jul 2022 21:45:46 +0200 Message-ID: References: <8e300265-e24c-59c2-19b0-3d74fc5ed425@orange.fr> <2c940b18-08f2-adeb-6ac3-22e89b72440d@orange.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------4fSabkm9nPCfisyeIFNFt4xf" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Content-Language: en-US In-Reply-To: <2c940b18-08f2-adeb-6ac3-22e89b72440d@orange.fr> Cc: gcc-patches@gcc.gnu.org X-Spam-Status: No, score=-8.8 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 X-BeenThere: fortran@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Fortran mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jul 2022 19:45:56 -0000 Message-ID: <20220727194546.J40zzcgy5k_YxuyI-kzGlT0V-gkEzCv5oCPa-gcEBQs@z> This is a multi-part message in MIME format. --------------4fSabkm9nPCfisyeIFNFt4xf Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi Mikael, Am 26.07.22 um 21:25 schrieb Mikael Morin: > Le 25/07/2022 à 22:18, Harald Anlauf a écrit : >> I would normally trust NAG more than Intel and Cray. > … and yourself, it seems.  Too bad. > >> If somebody else convinces me to accept that NAG has it wrong this >> time, I would be happy to proceed. > It won’t convince you about NAG, but here are two reasons to proceed: >  - Consensus among the maintainers is sufficient; it’s the case here. >  - If uncertain, let’s be rather too permissive than too strict; it’s > fine as long as the runtime answer is right. ok, I have thought about your comments in the review process, and played with the Cray compiler. Attached is a refined version of the patch that now rejects in addition these cases for which there are no possible related pointer assignments with bounds remapping: ASSOCIATED (scalar, array) ! impossible, cannot remap bounds ASSOCIATED (array, scalar) ! a scalar is not simply contiguous (Cray would allow those two, but IMHO these should be disallowed). See attached for version 2 with updated testcase, regtested again. I think this is what we could both be happy with... ;-) Thanks, Harald --------------4fSabkm9nPCfisyeIFNFt4xf Content-Type: text/x-patch; charset=UTF-8; name="pr77652-v2.diff" Content-Disposition: attachment; filename="pr77652-v2.diff" Content-Transfer-Encoding: base64 RnJvbSA1NDMyODgwZmYyMWRlODYyYzY0ZDc5NjI2YWExOWM0ZWRhOTI4Y2Q1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYXJhbGQgQW5sYXVmIDxhbmxhdWZAZ214LmRlPgpE YXRlOiBXZWQsIDI3IEp1bCAyMDIyIDIxOjM0OjIyICswMjAwClN1YmplY3Q6IFtQQVRDSF0g Rm9ydHJhbjogZml4IGludmFsaWQgcmFuayBlcnJvciBpbiBBU1NPQ0lBVEVEIHdoZW4gcmFu ayBpcwogcmVtYXBwZWQgW1BSNzc2NTJdCgpnY2MvZm9ydHJhbi9DaGFuZ2VMb2c6CgoJUFIg Zm9ydHJhbi83NzY1MgoJKiBjaGVjay5jYyAoZ2ZjX2NoZWNrX2Fzc29jaWF0ZWQpOiBNYWtl IHRoZSByYW5rIGNoZWNrIG9mIFBPSU5URVIKCXZzLiBUQVJHRVQgbWF0Y2ggdGhlIGFsbG93 ZWQgZm9ybXMgb2YgcG9pbnRlciBhc3NpZ25tZW50IGZvciB0aGUKCXNlbGVjdGVkIEZvcnRy YW4gc3RhbmRhcmQuCgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKCglQUiBmb3J0cmFuLzc3 NjUyCgkqIGdmb3J0cmFuLmRnL2Fzc29jaWF0ZWRfdGFyZ2V0XzlhLmY5MDogTmV3IHRlc3Qu CgkqIGdmb3J0cmFuLmRnL2Fzc29jaWF0ZWRfdGFyZ2V0XzliLmY5MDogTmV3IHRlc3QuCi0t LQogZ2NjL2ZvcnRyYW4vY2hlY2suY2MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjMg KysrKysrKysrKysrKystLQogLi4uL2dmb3J0cmFuLmRnL2Fzc29jaWF0ZWRfdGFyZ2V0Xzlh LmY5MCAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKwogLi4uL2dmb3J0cmFuLmRnL2Fz c29jaWF0ZWRfdGFyZ2V0XzliLmY5MCAgICAgIHwgMjMgKysrKysrKysrKysrKysrKwogMyBm aWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogY3JlYXRl IG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYXNzb2NpYXRlZF90YXJn ZXRfOWEuZjkwCiBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9hc3NvY2lhdGVkX3RhcmdldF85Yi5mOTAKCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9j aGVjay5jYyBiL2djYy9mb3J0cmFuL2NoZWNrLmNjCmluZGV4IDkxZDg3YTFiMmMxLi4xZGEw YjNjYmUxNSAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vY2hlY2suY2MKKysrIGIvZ2NjL2Zv cnRyYW4vY2hlY2suY2MKQEAgLTE1MDIsOCArMTUwMiwyNyBAQCBnZmNfY2hlY2tfYXNzb2Np YXRlZCAoZ2ZjX2V4cHIgKnBvaW50ZXIsIGdmY19leHByICp0YXJnZXQpCiAgICAgdCA9IGZh bHNlOwogICAvKiBGMjAxOCBDODM4IGV4cGxpY2l0bHkgYWxsb3dzIGFuIGFzc3VtZWQtcmFu ayB2YXJpYWJsZSBhcyB0aGUgZmlyc3QKICAgICAgYXJndW1lbnQgb2YgaW50cmluc2ljIGlu cXVpcnkgZnVuY3Rpb25zLiAgKi8KLSAgaWYgKHBvaW50ZXItPnJhbmsgIT0gLTEgJiYgIXJh bmtfY2hlY2sgKHRhcmdldCwgMCwgcG9pbnRlci0+cmFuaykpCi0gICAgdCA9IGZhbHNlOwor ICBpZiAocG9pbnRlci0+cmFuayAhPSAtMSAmJiBwb2ludGVyLT5yYW5rICE9IHRhcmdldC0+ cmFuaykKKyAgICB7CisgICAgICBpZiAocG9pbnRlci0+cmFuayA9PSAwIHx8IHRhcmdldC0+ cmFuayA9PSAwKQorCXsKKwkgIC8qIFRoZXJlIGV4aXN0cyBubyB2YWxpZCBwb2ludGVyIGFz c2lnbm1lbnQgdXNpbmcgYm91bmRzCisJICAgICByZW1hcHBpbmcgZm9yIHNjYWxhciA9PiBh cnJheSBvciBhcnJheSA9PiBzY2FsYXIuICovCisJICBpZiAoIXJhbmtfY2hlY2sgKHRhcmdl dCwgMCwgcG9pbnRlci0+cmFuaykpCisJICAgIHQgPSBmYWxzZTsKKwl9CisgICAgICBlbHNl IGlmICh0YXJnZXQtPnJhbmsgIT0gMSkKKwl7CisJICBpZiAoIWdmY19ub3RpZnlfc3RkIChH RkNfU1REX0YyMDA4LCAiUmFuayByZW1hcHBpbmcgdGFyZ2V0IGlzIG5vdCAiCisJCQkgICAg ICAgInJhbmsgMSBhdCAlTCIsICZ0YXJnZXQtPndoZXJlKSkKKwkgICAgdCA9IGZhbHNlOwor CX0KKyAgICAgIGVsc2UgaWYgKChnZmNfb3B0aW9uLmFsbG93X3N0ZCAmIEdGQ19TVERfRjIw MDMpID09IDApCisJeworCSAgaWYgKCFyYW5rX2NoZWNrICh0YXJnZXQsIDAsIHBvaW50ZXIt PnJhbmspKQorCSAgICB0ID0gZmFsc2U7CisJfQorICAgIH0KICAgaWYgKHRhcmdldC0+cmFu ayA+IDAgJiYgdGFyZ2V0LT5yZWYpCiAgICAgewogICAgICAgZm9yIChpID0gMDsgaSA8IHRh cmdldC0+cmFuazsgaSsrKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9hc3NvY2lhdGVkX3RhcmdldF85YS5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2Fzc29jaWF0ZWRfdGFyZ2V0XzlhLmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uNzA4NjQ1ZDViY2IKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2Fzc29jaWF0ZWRfdGFyZ2V0XzlhLmY5MApAQCAtMCwwICsxLDI3 IEBACishIHsgZGctZG8gcnVuIH0KKyEgeyBkZy1vcHRpb25zICItc3RkPWYyMDE4IiB9Cish IFBSIGZvcnRyYW4vNzc2NTIgLSBJbnZhbGlkIHJhbmsgZXJyb3IgaW4gQVNTT0NJQVRFRCB3 aGVuIHJhbmsgaXMgcmVtYXBwZWQKKyEgQ29udHJpYnV0ZWQgYnkgUGF1bCBUaG9tYXMKKwor cHJvZ3JhbSBwCisgIHJlYWwsIGRpbWVuc2lvbigxMDApLCAgdGFyZ2V0ICA6OiBhcnJheQor ICByZWFsLCBkaW1lbnNpb24oOiw6KSwgIHBvaW50ZXIgOjogbWF0cml4CisgIHJlYWwsIGRp bWVuc2lvbigyMCw1KSwgdGFyZ2V0ICA6OiBhcnJheTIKKyAgcmVhbCwgZGltZW5zaW9uKDop LCAgICBwb2ludGVyIDo6IG1hdHJpeDIKKyAgbWF0cml4KDE6MjAsMTo1KSA9PiBhcnJheQor ICBtYXRyaXgyKDE6MTAwKSAgID0+IGFycmF5MgorICAhCisgICEgRjIwMTg6MTYuOS4xNiwg QVNTT0NJQVRFRCAoUE9JTlRFUiBbLCBUQVJHRVRdKQorICAhIENhc2Uodik6IElmIFRBUkdF VCBpcyBwcmVzZW50IGFuZCBpcyBhbiBhcnJheSB0YXJnZXQsIHRoZSByZXN1bHQgaXMKKyAg ISB0cnVlIGlmIGFuZCBvbmx5IGlmIFBPSU5URVIgaXMgYXNzb2NpYXRlZCB3aXRoIGEgdGFy Z2V0IHRoYXQgaGFzCisgICEgdGhlIHNhbWUgc2hhcGUgYXMgVEFSR0VULCAuLi4KKyAgaWYg KGFzc29jaWF0ZWQgKG1hdHJpeCwgYXJyYXkgKSkgc3RvcCAxCisgIGlmIChhc3NvY2lhdGVk IChtYXRyaXgyLGFycmF5MikpIHN0b3AgMgorICBjYWxsIGNoZWNrIChtYXRyaXgyLCBhcnJh eTIpCitjb250YWlucworICBzdWJyb3V0aW5lIGNoZWNrIChwdHIsIHRndCkKKyAgICByZWFs LCBwb2ludGVyIDo6IHB0ciguLikKKyAgICByZWFsLCB0YXJnZXQgIDo6IHRndCg6LDopCisg ICAgaWYgKGFzc29jaWF0ZWQgKHB0ciwgdGd0KSkgc3RvcCAzCisgIGVuZCBzdWJyb3V0aW5l IGNoZWNrCitlbmQKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYXNz b2NpYXRlZF90YXJnZXRfOWIuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9hc3Nv Y2lhdGVkX3RhcmdldF85Yi5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAuLjFkYWEwYTdkZGUxCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9hc3NvY2lhdGVkX3RhcmdldF85Yi5mOTAKQEAgLTAsMCArMSwyMyBAQAor ISB7IGRnLWRvIGNvbXBpbGUgfQorISB7IGRnLW9wdGlvbnMgIi1zdGQ9ZjIwMDMiIH0KKyEg UFIgZm9ydHJhbi83NzY1MiAtIEludmFsaWQgcmFuayBlcnJvciBpbiBBU1NPQ0lBVEVEIHdo ZW4gcmFuayBpcyByZW1hcHBlZAorISBDb250cmlidXRlZCBieSBQYXVsIFRob21hcworCitz dWJyb3V0aW5lIHMKKyAgcmVhbCwgZGltZW5zaW9uKDEwMCksICB0YXJnZXQgIDo6IGFycmF5 CisgIHJlYWwsIGRpbWVuc2lvbig6LDopLCAgcG9pbnRlciA6OiBtYXRyaXgKKyAgcmVhbCwg ZGltZW5zaW9uKDIwLDUpLCB0YXJnZXQgIDo6IGFycmF5MgorICByZWFsLCBkaW1lbnNpb24o OiksICAgIHBvaW50ZXIgOjogbWF0cml4MgorICByZWFsLCAgICAgICAgICAgICAgICAgIHBv aW50ZXIgOjogc2NhbGFyLCBzY2FsYXIyCisgIHNjYWxhciA9PiBzY2FsYXIyCisgIHByaW50 ICosIGFzc29jaWF0ZWQgKHNjYWxhciwgc2NhbGFyMikKKworICBtYXRyaXgoMToyMCwxOjUp ID0+IGFycmF5ICAgICAgICAgICAgISBGMjAwMysKKyEgbWF0cml4MigxOjEwMCkgICA9PiBh cnJheTIgICAgICAgICAgICEgRjIwMDgrCisgIHByaW50ICosIGFzc29jaWF0ZWQgKG1hdHJp eCwgYXJyYXkgKSAhIFRlY2huaWNhbGx5IGxlZ2FsIEYyMDAzCisgIHByaW50ICosIGFzc29j aWF0ZWQgKG1hdHJpeDIsYXJyYXkyKSAhIHsgZGctZXJyb3IgImlzIG5vdCByYW5rIDEiIH0K KworICAhIFRoZXJlIGV4aXN0cyBubyByZWxhdGVkIHZhbGlkIHBvaW50ZXIgYXNzaWdubWVu dCBmb3IgdGhlc2UgY2FzZXM6CisgIHByaW50ICosIGFzc29jaWF0ZWQgKHNjYWxhcixtYXRy aXgyKSAhIHsgZGctZXJyb3IgIm11c3QgYmUgb2YgcmFuayAwIiB9CisgIHByaW50ICosIGFz c29jaWF0ZWQgKG1hdHJpeDIsc2NhbGFyKSAhIHsgZGctZXJyb3IgIm11c3QgYmUgb2YgcmFu ayAxIiB9CitlbmQKLS0gCjIuMzUuMwoK --------------4fSabkm9nPCfisyeIFNFt4xf--