From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 7805D3899434; Fri, 18 Mar 2022 16:27:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7805D3899434 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.90,192,1643702400"; d="diff'?scan'208";a="73169588" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 18 Mar 2022 08:27:18 -0800 IronPort-SDR: mYHhkq4OmokRrauMvq+DT28vrVW0JfyntvtycLq6v6iVABqqgK1pK0KdT6TeMQjI9EN6Xqrq5l sqCjQU9rzMRyXgFodAGE7sTWe5yXhCl32YhE2Ein1xTdvX0D0s4LB527df2WOCzy9c4LVFx7Bc SKq1LnzsQuVJVavQ+7792TiQzQ5t8zNF40PW9PiFtV+pTgQEHJ+Wgyu9bj/I37fFLAK+KW1XcD Mq9m5JZ90Da+ZQpiMyUR7bGWYEbxiKzb7McKRwZ7X+ajVlz6SNRJ3NShzUScHtJIW46Fv0rxJ3 kPs= Content-Type: multipart/mixed; boundary="------------KJpuCA50RHfwuYbAezMJsYBi" Message-ID: <6e5a585d-9876-cc66-413d-3cad381ddbdf@codesourcery.com> Date: Fri, 18 Mar 2022 17:27:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Content-Language: en-US To: gcc-patches , fortran , Jakub Jelinek From: Tobias Burnus Subject: [Patch] Fortran/OpenMP: Improve associate-name diagnostic [PR103039] X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-14.mgc.mentorg.com (139.181.222.14) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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: Fri, 18 Mar 2022 16:27:20 -0000 --------------KJpuCA50RHfwuYbAezMJsYBi Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable SELECT TYPE, SELECT RANK and ASSOCIATE have associate-name =3D> selector and create a pointer to the selector. GCC was fixed to handle CLASS properly in class(t) :: var !$omp ... firstprivate(var) As a side effect, firstprivate(assoc_name) now also gets handled that way, effectively trying to firstprivate(selector) which should be shared... While firstprivate(var) does not appear explicitly, it gets added via gfc_omp_predetermined_sharing. I went for the simple solution and handle it only in gfortran's ctor/dtor. An alternative would be to set OMP_CLAUSE_FIRSTPRIVATE_NO_REFERENCE, which is currently only set for C++'s __for_end / __for_range and then later process it in ctor/dtor. I am not sure whether that's really best and what's the best way to propagate it. One way would be to create and use OMP_CLAUSE_DEFAULT_FIRSTPRIVATE_NO_REFERENCE. OK as is (simple version) =E2=80=93 or is a fuller version better. If so, suggestion how to do this best? Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstra=C3=9Fe 201= , 80634 M=C3=BCnchen; Gesellschaft mit beschr=C3=A4nkter Haftung; Gesch=C3= =A4ftsf=C3=BChrer: Thomas Heurung, Frank Th=C3=BCrauf; Sitz der Gesellschaf= t: M=C3=BCnchen; Registergericht M=C3=BCnchen, HRB 106955 --------------KJpuCA50RHfwuYbAezMJsYBi Content-Type: text/x-patch; charset="UTF-8"; name="fix-assoc-name-priv.diff" Content-Disposition: attachment; filename="fix-assoc-name-priv.diff" Content-Transfer-Encoding: base64 Rm9ydHJhbi9PcGVuTVA6IEZpeCBwcml2YXRpemF0aW9uIG9mIGFzc29jaWF0ZWQgbmFtZXMK CmdmY19vbXBfcHJlZGV0ZXJtaW5lZF9zaGFyaW5nIGNhc2VzIHRoZSBhc3NvY2lhdGUtbmFt ZSBwb2ludGVyIHZhcmlhYmxlCnRvIGJlIE9NUF9DTEFVU0VfREVGQVVMVF9GSVJTVFBSSVZB VEUsIHdoaWNoIGlzIGZpbmUuIEhvd2V2ZXIsIHRoZSBhc3NvY2lhdGVkCnNlbGVjdG9yIGlz IHNoYXJlZC4gVGh1cywgdGhlIHRhcmdldCBvZiBhc3NvY2lhdGUtbmFtZSBwb2ludGVyIHNo b3VsZCBub3QgZ2V0CmNvcGllZC4gKEl0IHdhcyBiZWZvcmUgYnV0IGJlY2F1c2Ugb2YgZ2Zj X29tcF9wcml2YXRpemVfYnlfcmVmZXJlbmNlIHJldHVybmluZwpmYWxzZSwgdGhlIHNlbGVj dG9yIHdhcyBub3Qgb25seSB3cm9uZ2x5IGNvcGllZCBidXQgdGhpcyB3YXMgYWxzbyBub3Qg ZG9uZQpwcm9wZXJseS4pCgpnY2MvZm9ydHJhbi9DaGFuZ2VMb2c6CgoJUFIgZm9ydHJhbi8x MDMwMzkKCSogdHJhbnMtb3Blbm1wLmNjIChnZmNfb21wX2NsYXVzZV9jb3B5X2N0b3IsIGdm Y19vbXBfY2xhdXNlX2R0b3IpOgoJT25seSBwcml2YXRpemUgcG9pbnRlciBmb3IgYXNzb2Np YXRlIG5hbWVzLgoKbGliZ29tcC9DaGFuZ2VMb2c6CgoJUFIgZm9ydHJhbi8xMDMwMzkKCSog dGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9hc3NvY2lhdGU0LmY5MDogTmV3IHRlc3QuCgog Z2NjL2ZvcnRyYW4vdHJhbnMtb3Blbm1wLmNjICAgICAgICAgICAgICAgICAgICAgIHwgMTAg KysrCiBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmZvcnRyYW4vYXNzb2NpYXRlNC5mOTAg fCA5MiArKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTAyIGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi90cmFucy1vcGVubXAuY2Mg Yi9nY2MvZm9ydHJhbi90cmFucy1vcGVubXAuY2MKaW5kZXggZmFkNzZhNDc5MWYuLjEwMTky NGY1ZTc2IDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi90cmFucy1vcGVubXAuY2MKKysrIGIv Z2NjL2ZvcnRyYW4vdHJhbnMtb3Blbm1wLmNjCkBAIC04MDgsNiArODA4LDExIEBAIGdmY19v bXBfY2xhdXNlX2NvcHlfY3RvciAodHJlZSBjbGF1c2UsIHRyZWUgZGVzdCwgdHJlZSBzcmMp CiAgIGdjY19hc3NlcnQgKE9NUF9DTEFVU0VfQ09ERSAoY2xhdXNlKSA9PSBPTVBfQ0xBVVNF X0ZJUlNUUFJJVkFURQogCSAgICAgIHx8IE9NUF9DTEFVU0VfQ09ERSAoY2xhdXNlKSA9PSBP TVBfQ0xBVVNFX0xJTkVBUik7CiAKKyAgLyogUHJpdmF0aXplIHBvaW50ZXIsIG9ubHk7IGNm LiBnZmNfb21wX3ByZWRldGVybWluZWRfc2hhcmluZy4gKi8KKyAgaWYgKERFQ0xfUCAoT01Q X0NMQVVTRV9ERUNMIChjbGF1c2UpKQorICAgICAgJiYgR0ZDX0RFQ0xfQVNTT0NJQVRFX1ZB Ul9QIChPTVBfQ0xBVVNFX0RFQ0wgKGNsYXVzZSkpKQorICAgIHJldHVybiBidWlsZDIgKE1P RElGWV9FWFBSLCBUUkVFX1RZUEUgKGRlc3QpLCBkZXN0LCBzcmMpOworCiAgIGlmIChERUNM X0FSVElGSUNJQUwgKE9NUF9DTEFVU0VfREVDTCAoY2xhdXNlKSkKICAgICAgICYmIERFQ0xf TEFOR19TUEVDSUZJQyAoT01QX0NMQVVTRV9ERUNMIChjbGF1c2UpKQogICAgICAgJiYgR0ZD X0RFQ0xfU0FWRURfREVTQ1JJUFRPUiAoT01QX0NMQVVTRV9ERUNMIChjbGF1c2UpKSkKQEAg LTEzMjEsNiArMTMyNiwxMSBAQCBnZmNfb21wX2NsYXVzZV9kdG9yICh0cmVlIGNsYXVzZSwg dHJlZSBkZWNsKQogICB0cmVlIHR5cGUgPSBUUkVFX1RZUEUgKGRlY2wpLCB0ZW07CiAgIHRy ZWUgZGVjbF90eXBlID0gVFJFRV9UWVBFIChPTVBfQ0xBVVNFX0RFQ0wgKGNsYXVzZSkpOwog CisgIC8qIE9ubHkgcG9pbnRlciB3YXMgcHJpdmF0aXplZDsgY2YuIGdmY19vbXBfY2xhdXNl X2NvcHlfY3Rvci4gKi8KKyAgaWYgKERFQ0xfUCAoT01QX0NMQVVTRV9ERUNMIChjbGF1c2Up KQorICAgICAgJiYgR0ZDX0RFQ0xfQVNTT0NJQVRFX1ZBUl9QIChPTVBfQ0xBVVNFX0RFQ0wg KGNsYXVzZSkpKQorICAgIHJldHVybiBOVUxMX1RSRUU7CisKICAgaWYgKERFQ0xfQVJUSUZJ Q0lBTCAoT01QX0NMQVVTRV9ERUNMIChjbGF1c2UpKQogICAgICAgJiYgREVDTF9MQU5HX1NQ RUNJRklDIChPTVBfQ0xBVVNFX0RFQ0wgKGNsYXVzZSkpCiAgICAgICAmJiBHRkNfREVDTF9T QVZFRF9ERVNDUklQVE9SIChPTVBfQ0xBVVNFX0RFQ0wgKGNsYXVzZSkpKQpkaWZmIC0tZ2l0 IGEvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2Fzc29jaWF0ZTQuZjkwIGIv bGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL2Fzc29jaWF0ZTQuZjkwCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mMDk0OWI1NTMwZAotLS0gL2Rl di9udWxsCisrKyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9hc3NvY2lh dGU0LmY5MApAQCAtMCwwICsxLDkyIEBACishIFBSIGZvcnRyYW4vNTE3MjIKKworbW9kdWxl IG0KK2ltcGxpY2l0IG5vbmUKKworY29udGFpbnMKKworc3Vicm91dGluZSBzZWx0eXBlCisK K3R5cGUgOjogYQorICAgaW50ZWdlciA6OiBwID0gMgorZW5kIHR5cGUgYQorCit0eXBlLCBl eHRlbmRzKGEpIDo6IGIKKyAgIGludGVnZXIgOjogY250ID0gMAorZW5kIHR5cGUgYgorCitp bnRlZ2VyIDo6IGssIHMKK2NsYXNzKGEpLCBwb2ludGVyIDo6IHgKKworYWxsb2NhdGUoYSA6 OiB4KQorcyA9IDAKK3NlbGVjdCB0eXBlICh5ID0+IHgpCitjbGFzcyBpcyAoYSkKKyEkb21w IHBhcmFsbGVsIGRvIGRlZmF1bHQoc2hhcmVkKSBwcml2YXRlKGspIHJlZHVjdGlvbigrOnMp CisgICBkbyBrID0gMSwxMAorICAgICAgcyA9IHMgKyBrKnklcAorICAgZW5kIGRvCishJG9t cCBlbmQgcGFyYWxsZWwgZG8KK2VuZCBzZWxlY3QKKworaWYgKHMgLz0gMTEwKSBlcnJvciBz dG9wCitkZWFsbG9jYXRlKHgpCithbGxvY2F0ZShiIDo6IHgpCisKK3MgPSAwCitzZWxlY3Qg dHlwZSAoeSA9PiB4KQorY2xhc3MgaXMgKGIpCishJG9tcCBwYXJhbGxlbCBkbyBkZWZhdWx0 KHNoYXJlZCkgcHJpdmF0ZShrKSByZWR1Y3Rpb24oKzpzKQorICAgZG8gayA9IDEsMTAKKyAg ICAgIHMgPSBzICsgayp5JXAKKyEkb21wIGF0b21pYyB1cGRhdGUKKyAgICAgIHklY250ID0g eSVjbnQgKyAyCisgICBlbmQgZG8KKyEkb21wIGVuZCBwYXJhbGxlbCBkbworaWYgKHMgLz0g MTEwKSBlcnJvciBzdG9wCitpZiAoeSVwIC89IDIpIGVycm9yIHN0b3AKK2lmICh5JWNudCAv PSAxMCoyKSBlcnJvciBzdG9wCitlbmQgc2VsZWN0CisKK2RlYWxsb2NhdGUoeCkKKworZW5k IHN1YnJvdXRpbmUgc2VsdHlwZQorCitzdWJyb3V0aW5lIGFzc29jCisKK3R5cGUgOjogYgor ICAgaW50ZWdlciA6OiByID0gMworZW5kIHR5cGUgYgorCit0eXBlIDo6IGEKKyAgIGludGVn ZXIgOjogcCA9IDIKKyAgIGNsYXNzKGIpLCBwb2ludGVyIDo6IHUgPT4gbnVsbCgpCitlbmQg dHlwZSBhCisKK2ludGVnZXIgOjogaywgcworY2xhc3MoYSksIHBvaW50ZXIgOjogeAorCitz ID0gMAorYWxsb2NhdGUoYSA6OiB4KQorYWxsb2NhdGUoYiA6OiB4JXUpCisKK2Fzc29jaWF0 ZShmID0+IHgldSkKKyEkb21wIHBhcmFsbGVsIGRvIGRlZmF1bHQoc2hhcmVkKSBwcml2YXRl KGspIHJlZHVjdGlvbigrOnMpCisgICBkbyBrID0gMSwxMAorICAgICAgcyA9IHMgKyBrKmYl cgorICAgZW5kIGRvCishJG9tcCBlbmQgcGFyYWxsZWwgZG8KK2VuZCBhc3NvY2lhdGUKKwor ZGVhbGxvY2F0ZSh4JXUpCitkZWFsbG9jYXRlKHgpCisKK2lmIChzIC89IDE2NSkgZXJyb3Ig c3RvcAorZW5kIHN1YnJvdXRpbmUgYXNzb2MKK2VuZCBtb2R1bGUgbQorCit1c2UgbQoraW1w bGljaXQgbm9uZSAodHlwZSwgZXh0ZXJuYWwpCitjYWxsIHNlbHR5cGUKK2NhbGwgYXNzb2MK K2VuZAo= --------------KJpuCA50RHfwuYbAezMJsYBi--