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 D649D3858C2F; Tue, 16 Aug 2022 14:06:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D649D3858C2F 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.93,241,1654588800"; d="diff'?scan'208";a="81254809" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 16 Aug 2022 06:06:12 -0800 IronPort-SDR: v0J9iFLvuKKSeJDXElzIDDcMbsv42dkjjQa29bP+tHFxAfe1mXkBYGshsAiWiJCMv19SFTBCvu rDG8J51vAnpfe13s5MTWe4t9C/rPkHRHYyyqF++0Fq8ogW/Qe1RljJf2EqZrOWNfhu8EPW8kGO kGZ9Z0iq1eXWyED1f3BMsxi4YRyTZbHcijJORIzrpfk+IVoCOd2bSPQuTG7MsQBvrfZoFyZela c5pnQInqfGrXgwEJguQ5O1mI4IJgJjM49V3Iy6v5ylY1HNkXcwsNuW8iZptFIMZwlhzNxjDWGk yvg= Content-Type: multipart/mixed; boundary="------------TPAzHDjf9kQDNbuYA3S6H1YN" Message-ID: <9dde1b4a-03cb-214c-8eb7-8f75978754c7@codesourcery.com> Date: Tue, 16 Aug 2022 16:06:05 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Content-Language: en-US To: gcc-patches , fortran , Jakub Jelinek From: Tobias Burnus Subject: [Patch] Fortran: OpenMP fix declare simd inside modules and absent linear [PR106566] X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-11.4 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.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: Tue, 16 Aug 2022 14:06:23 -0000 --------------TPAzHDjf9kQDNbuYA3S6H1YN Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable This patch fixes two issues =E2=80=93 the first was reported to me by email= but it also shows up in the official OpenMP examples (see PR). Namely: Inside a module, 'gfc_match(" ( %s )")' fails as the symbol is alre= ady host associated. (The symbol is the current procedure name.) Solution: Match with passing (permit) host_assoc =3D true to the match func= tion instead of 'false' as done with '%s'. Afterwards, it was failing when folding a NULL_TREE. Solution: Init the lin= ear step with 1 in that case. OK for mainline? * * * I have not checked GCC < mainline. The current example is OpenMP 5.2 only and only supported since June 7, 2022 in C/C++ and July 4 for Fortran. However, I assume the same issue also affects GCC < 13 with a tailored testcase. - If there is the sentiment to fix it also for older GCC, I can come up with modified testcases and a GCC 12 (and GCC 11?) patch. Thoughts? 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 --------------TPAzHDjf9kQDNbuYA3S6H1YN Content-Type: text/x-patch; charset="UTF-8"; name="omp-linear-fix.diff" Content-Disposition: attachment; filename="omp-linear-fix.diff" Content-Transfer-Encoding: base64 Rm9ydHJhbjogT3Blbk1QIGZpeCBkZWNsYXJlIHNpbWQgaW5zaWRlIG1vZHVsZXMgYW5kIGFi c2VudCBsaW5lYXIgW1BSMTA2NTY2XQoKZ2NjL2ZvcnRyYW4vQ2hhbmdlTG9nOgoKCVBSIGZv cnRyYW4vMTA2NTY2CgkqIG9wZW5tcC5jYyAoZ2ZjX21hdGNoX29tcF9kZWNsYXJlX3NpbWQp OiBBY2NlcHQgbW9kdWxlIHByb2NlZHVyZXMuCgkqIHRyYW5zLW9wZW5tcC5jYyAoZ2ZjX3Ry YW5zX29tcF9jbGF1c2VzKTogRml4IGRlY2xhcmUgc2ltZCB3aXRob3V0CglsaW5lYXItc3Rl cCB2YWx1ZS4KCmdjYy90ZXN0c3VpdGUvQ2hhbmdlTG9nOgoKCVBSIGZvcnRyYW4vMTA2NTY2 CgkqIGdmb3J0cmFuLmRnL2dvbXAvZGVjbGFyZS1zaW1kLTQuZjkwOiBOZXcgdGVzdC4KCSog Z2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXNpbWQtNS5mOTA6IE5ldyB0ZXN0LgoKIGdjYy9m b3J0cmFuL29wZW5tcC5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKyst CiBnY2MvZm9ydHJhbi90cmFucy1vcGVubXAuY2MgICAgICAgICAgICAgICAgICAgICAgIHwg IDIgKwogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL2RlY2xhcmUtc2ltZC00LmY5 MCB8IDQyICsrKysrKysrKysrKysrKysrKysKIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv Z29tcC9kZWNsYXJlLXNpbWQtNS5mOTAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKwog NCBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2djYy9mb3J0cmFuL29wZW5tcC5jYyBiL2djYy9mb3J0cmFuL29wZW5tcC5j YwppbmRleCBhN2ViNmMzZThmNC4uZTQzMGY0YzQ5ZGQgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0 cmFuL29wZW5tcC5jYworKysgYi9nY2MvZm9ydHJhbi9vcGVubXAuY2MKQEAgLTQyMTMsOSAr NDIxMywxMyBAQCBnZmNfbWF0Y2hfb21wX2RlY2xhcmVfc2ltZCAodm9pZCkKICAgZ2ZjX29t cF9kZWNsYXJlX3NpbWQgKm9kczsKICAgYm9vbCBuZWVkc19zcGFjZSA9IGZhbHNlOwogCi0g IHN3aXRjaCAoZ2ZjX21hdGNoICgiICggJXMgKSAiLCAmcHJvY19uYW1lKSkKKyAgc3dpdGNo IChnZmNfbWF0Y2ggKCIgKCAiKSkKICAgICB7Ci0gICAgY2FzZSBNQVRDSF9ZRVM6IGJyZWFr OworICAgIGNhc2UgTUFUQ0hfWUVTOgorICAgICAgaWYgKGdmY19tYXRjaF9zeW1ib2wgKCZw cm9jX25hbWUsIC8qIGhvc3QgYXNzb2MgPSAqLyB0cnVlKSAhPSBNQVRDSF9ZRVMKKwkgIHx8 IGdmY19tYXRjaCAoIiApICIpICE9IE1BVENIX1lFUykKKwlyZXR1cm4gTUFUQ0hfRVJST1I7 CisgICAgICBicmVhazsKICAgICBjYXNlIE1BVENIX05POiBwcm9jX25hbWUgPSBOVUxMOyBu ZWVkc19zcGFjZSA9IHRydWU7IGJyZWFrOwogICAgIGNhc2UgTUFUQ0hfRVJST1I6IHJldHVy biBNQVRDSF9FUlJPUjsKICAgICB9CmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi90cmFucy1v cGVubXAuY2MgYi9nY2MvZm9ydHJhbi90cmFucy1vcGVubXAuY2MKaW5kZXggZGUyN2VkNTJj MDIuLjIyZTZkZDI1NGM3IDEwMDY0NAotLS0gYS9nY2MvZm9ydHJhbi90cmFucy1vcGVubXAu Y2MKKysrIGIvZ2NjL2ZvcnRyYW4vdHJhbnMtb3Blbm1wLmNjCkBAIC0yNzk4LDYgKzI3OTgs OCBAQCBnZmNfdHJhbnNfb21wX2NsYXVzZXMgKHN0bXRibG9ja190ICpibG9jaywgZ2ZjX29t cF9jbGF1c2VzICpjbGF1c2VzLAogCQkJICB9CiAJCQllbHNlCiAJCQkgIHsKKwkJCSAgICBp ZiAobGFzdF9zdGVwID09IE5VTExfVFJFRSkKKwkJCSAgICAgIGxhc3Rfc3RlcCA9IHNpemVf b25lX25vZGU7CiAJCQkgICAgaWYgKGtpbmQgPT0gT01QX0NMQVVTRV9MSU5FQVJfUkVGKQog CQkJICAgICAgewogCQkJCXRyZWUgdHlwZTsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXNpbWQtNC5mOTAgYi9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2dvbXAvZGVjbGFyZS1zaW1kLTQuZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi40NDEzMjUyNTk2MwotLS0gL2Rldi9udWxsCisrKyBiL2dj Yy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXNpbWQtNC5mOTAKQEAgLTAs MCArMSw0MiBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorISB7IGRnLWFkZGl0aW9uYWwtb3B0 aW9ucyAiLWZkdW1wLXRyZWUtZ2ltcGxlIiB9CishCishIFBSIGZvcnRyYW4vMTA2NTY2Cish CishIHsgZGctZmluYWwgeyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiX19hdHRyaWJ1dGVfX1xc KFxcKG9tcCBkZWNsYXJlIHNpbWQgXFwobGluZWFyXFwoMDpyZWYsc3RlcFxcKDRcXClcXCkg c2ltZGxlblxcKDhcXClcXClcXClcXCkiIDIgImdpbXBsZSIgfSB9CishIHsgZGctZmluYWwg eyBzY2FuLXRyZWUtZHVtcC10aW1lcyAiX19hdHRyaWJ1dGVfX1xcKFxcKG9tcCBkZWNsYXJl IHNpbWQgXFwobGluZWFyXFwoMDpyZWYsc3RlcFxcKDhcXClcXCkgc2ltZGxlblxcKDhcXClc XClcXClcXCkiIDIgImdpbXBsZSIgfSB9CisKK3N1YnJvdXRpbmUgYWRkX29uZTIocCkKKyAg aW1wbGljaXQgbm9uZQorICAhJG9tcCBkZWNsYXJlIHNpbWQoYWRkX29uZTIpIGxpbmVhcihw OiByZWYpIHNpbWRsZW4oOCkKKyAgaW50ZWdlciA6OiBwCisKKyAgcCA9IHAgKyAxCitlbmQg c3Vicm91dGluZQorCitzdWJyb3V0aW5lIGxpbmVhcl9hZGRfb25lMihwKQorICBpbXBsaWNp dCBub25lCisgICEkb21wIGRlY2xhcmUgc2ltZChsaW5lYXJfYWRkX29uZTIpIGxpbmVhcihw OiByZWYsIHN0ZXAoMikpIHNpbWRsZW4oOCkKKyAgaW50ZWdlciA6OiBwCisKKyAgcCA9IHAg KyAxCitlbmQgc3Vicm91dGluZQorCittb2R1bGUgbQorICAgaW50ZWdlciwgcGFyYW1ldGVy IDo6IE5OID0gMTAyMworICAgaW50ZWdlciA6OiBhKE5OKQorY29udGFpbnMKKyAgc3Vicm91 dGluZSBtb2R1bGVfYWRkX29uZTIocSkKKyAgICBpbXBsaWNpdCBub25lCisgICAgISRvbXAg ZGVjbGFyZSBzaW1kKG1vZHVsZV9hZGRfb25lMikgbGluZWFyKHE6IHJlZikgc2ltZGxlbig4 KQorICAgIGludGVnZXIgOjogcQorICAgIHEgPSBxICsgMQorICBlbmQgc3Vicm91dGluZQor CisgIHN1YnJvdXRpbmUgbGluZWFyX2FkZF9vbmUyKHEpCisgICAgaW1wbGljaXQgbm9uZQor ICAgICEkb21wIGRlY2xhcmUgc2ltZChsaW5lYXJfYWRkX29uZTIpIGxpbmVhcihxOiByZWYs IHN0ZXAoMikpIHNpbWRsZW4oOCkKKyAgICBpbnRlZ2VyIDo6IHEKKyAgICBxID0gcSArIDEK KyAgZW5kIHN1YnJvdXRpbmUKK2VuZCBtb2R1bGUKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXNpbWQtNS5mOTAgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2dvbXAvZGVjbGFyZS1zaW1kLTUuZjkwCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mNTg4MGY1MDA5MAotLS0gL2Rldi9udWxsCisrKyBi L2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9kZWNsYXJlLXNpbWQtNS5mOTAKQEAg LTAsMCArMSw0OSBAQAorISB7IGRnLWRvIGNvbXBpbGUgfQorIQorISBQUiBmb3J0cmFuLzEw NjU2NgorIQorCitzdWJyb3V0aW5lIGFkZF9vbmUyKHApCisgIGltcGxpY2l0IG5vbmUKKyAg cHJvY2VkdXJlKGFkZF9vbmUyKSA6OiBleHQxCisgICEkb21wIGRlY2xhcmUgc2ltZChleHQx KSBsaW5lYXIocDogcmVmKSBzaW1kbGVuKDgpICAhIHsgZGctZXJyb3IgIk9NUCBERUNMQVJF IFNJTUQgc2hvdWxkIHJlZmVyIHRvIGNvbnRhaW5pbmcgcHJvY2VkdXJlICdhZGRfb25lMici IH0KKyAgaW50ZWdlciA6OiBwCisKKyAgcCA9IHAgKyAxCitlbmQgc3Vicm91dGluZQorCitz dWJyb3V0aW5lIGxpbmVhcl9hZGRfb25lMihwKQorICBpbXBsaWNpdCBub25lCisgIHByb2Nl ZHVyZShsaW5lYXJfYWRkX29uZTIpIDo6IGV4dDIKKyAgISRvbXAgZGVjbGFyZSBzaW1kKGV4 dDIpIGxpbmVhcihwOiByZWYsIHN0ZXAoMikpIHNpbWRsZW4oOCkgICEgeyBkZy1lcnJvciAi T01QIERFQ0xBUkUgU0lNRCBzaG91bGQgcmVmZXIgdG8gY29udGFpbmluZyBwcm9jZWR1cmUg J2xpbmVhcl9hZGRfb25lMiciIH0KKyAgaW50ZWdlciA6OiBwCisKKyAgcCA9IHAgKyAxCitl bmQgc3Vicm91dGluZQorCittb2R1bGUgbQorICAgaW50ZWdlciwgcGFyYW1ldGVyIDo6IE5O ID0gMTAyMworICAgaW50ZWdlciA6OiBhKE5OKQorY29udGFpbnMKKyAgc3Vicm91dGluZSBz b21lX3Byb2MocikKKyAgICBpbnRlZ2VyIDo6IHIKKyAgZW5kIHN1YnJvdXRpbmUKKyAgc3Vi cm91dGluZSBtb2R1bGVfYWRkX29uZTIocSkKKyAgICBpbXBsaWNpdCBub25lCisgICAgISRv bXAgZGVjbGFyZSBzaW1kKHNvbWVfcHJvYykgbGluZWFyKHE6IHJlZikgc2ltZGxlbig4KSAg ISB7IGRnLWVycm9yICJPTVAgREVDTEFSRSBTSU1EIHNob3VsZCByZWZlciB0byBjb250YWlu aW5nIHByb2NlZHVyZSAnbW9kdWxlX2FkZF9vbmUyJyIgfQorICAgIGludGVnZXIgOjogcQor ICAgIHEgPSBxICsgMQorICBlbmQgc3Vicm91dGluZQorCisgIHN1YnJvdXRpbmUgbW9kdWxl X2xpbmVhcl9hZGRfb25lMihxKQorICAgIGltcGxpY2l0IG5vbmUKKyAgICBpbnRlcmZhY2UK KyAgICAgIHN1YnJvdXRpbmUgb3RoZXJfcHJvYyhyKQorICAgICAgICBpbnRlZ2VyIDo6IHIK KyAgICAgIGVuZCBzdWJyb3V0aW5lCisgICAgZW5kIGludGVyZmFjZQorICAgICEkb21wIGRl Y2xhcmUgc2ltZChvdGhlcl9wcm9jKSBsaW5lYXIocTogcmVmLCBzdGVwKDIpKSBzaW1kbGVu KDgpICAhIHsgZGctZXJyb3IgIk9NUCBERUNMQVJFIFNJTUQgc2hvdWxkIHJlZmVyIHRvIGNv bnRhaW5pbmcgcHJvY2VkdXJlICdtb2R1bGVfbGluZWFyX2FkZF9vbmUyJyIgfQorICAgIGlu dGVnZXIgOjogcQorICAgIHEgPSBxICsgMQorICBlbmQgc3Vicm91dGluZQorZW5kIG1vZHVs ZQo= --------------TPAzHDjf9kQDNbuYA3S6H1YN--