From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id D5FBC3857026; Sat, 7 Oct 2023 15:40:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D5FBC3857026 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-CSE-ConnectionGUID: L8E+/UTfQwWo92PwUe6p/A== X-CSE-MsgGUID: FSucNWwSRsG8RomsbsHGjA== X-IronPort-AV: E=Sophos;i="6.03,206,1694764800"; d="diff'?scan'208";a="21047173" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa2.mentor.iphmx.com with ESMTP; 07 Oct 2023 07:40:14 -0800 IronPort-SDR: e0prs5gqafjzycBN+0vmMSDCm6iet8A2Pu/DXIphstv5fOZJVAcLHSTjM08sdHWYsttV+iwZme aG2l4QFSkt4yUSElRCIHa3UOZ96JKy6x58R4q+9JvjAex2x1mG11CF2gDM2U+DO48eZUlSKjML XdD17gBZUcbqI4jUy9ZgmWTV0856K4V3Fvzt8bKcTXZ48zV7EtHULceCjerzohT0RHsSoUw1/v 4Jx9vMMRiT/XtzvhfM1tZcY9OP77xY2ocZJ3MNhLe1dhrFDsRIhY26a9J1PAzeFWP+s1RGINyO DO4= Content-Type: multipart/mixed; boundary="------------Y7BRRo0y1xe7fGYCGXOByDcG" Message-ID: Date: Sat, 7 Oct 2023 17:40:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: gcc-patches , fortran From: Tobias Burnus Subject: [Patch] Fortran/OpenMP: Fix handling of strictly structured blocks X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-14.mgc.mentorg.com (139.181.222.14) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-10.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP,URIBL_BLACK 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: --------------Y7BRRo0y1xe7fGYCGXOByDcG Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Strictly structured blocks are '!$omp ' directly followed by 'BLOCK ... END BLOCK', i.e. a Fortran block construct. I did run into this issue because 'integer :: n; n =3D 5; !$omp ...; block; integer :: A(n)' was not accepted. Well, it turned out that was because the BLOCK handling was not quite right= . In an unrelated patch, I got an ICE for an empty labelled BLOCK - but only without -fopenmp. I was not quite sure that we had a testcase for it - my 'grep' attempt did not find one but we use plenty of BLOCK. Hence, I added another BLOCK testcase. Comments, remarks, suggestions? If not, I will later commit it. 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 --------------Y7BRRo0y1xe7fGYCGXOByDcG Content-Type: text/x-patch; charset="UTF-8"; name="fix-omp-strict-struct-block-v4.diff" Content-Disposition: attachment; filename="fix-omp-strict-struct-block-v4.diff" Content-Transfer-Encoding: base64 Rm9ydHJhbi9PcGVuTVA6IEZpeCBoYW5kbGluZyBvZiBzdHJpY3RseSBzdHJ1Y3R1cmVkIGJs b2NrcwoKRm9yIHN0cmljdGx5IHN0cnVjdHVyZWQgYmxvY2tzLCBhIEJMT0NLIHdhcyBjcmVh dGVkIGJ1dCB0aGUgY29kZQp3YXMgcGxhY2VkIGFmdGVyIHRoZSBibG9jayB0aGUgb3V0ZXIg c3RydWN0dXJlZCBibG9jay4gQWRkaXRpb25hbGx5LApsYWJlbGxlZCBibG9ja3Mgd2VyZSBt aXNoYW5kbGVkLiBBcyB0aGUgY29kZSBpcyBub3cgcHJvcGVybHkgaW4gYQpCTE9DSywgaXQg c29sdmVzIGFkZGl0aW9uYWwgaXNzdWVzLgoKZ2NjL2ZvcnRyYW4vQ2hhbmdlTG9nOgoKCSog cGFyc2UuY2MgKHBhcnNlX29tcF9zdHJ1Y3R1cmVkX2Jsb2NrKTogTWFrZSB0aGUgdXNlciBj b2RlIGVuZAoJdXAgaW5zaWRlIG9mIEJMT0NLIGNvbnN0cnVjdCBmb3Igc3RyaWN0bHkgc3Ry dWN0dXJlZCBibG9ja3M7CglmaXggZmFsbG91dCBmb3IgJ3NlY3Rpb24nIGFuZCAndGVhbXMn LgoJKiBvcGVubXAuY2MgKHJlc29sdmVfb21wX3RhcmdldCk6IEZpeCBjaGFuZ2VkIEJMT0NL IGhhbmRsaW5nCglmb3IgdGVhbXMgaW4gdGFyZ2V0IGNoZWNraW5nLgoKbGliZ29tcC9DaGFu Z2VMb2c6CgoJKiB0ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL3N0cmljdGx5LXN0cnVjdHVy ZWQtYmxvY2stMS5mOTA6IE5ldyB0ZXN0LgoKZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CgoJ KiBnZm9ydHJhbi5kZy9ibG9ja18xNy5mOTA6IE5ldyB0ZXN0LgoJKiBnZm9ydHJhbi5kZy9n b21wL3N0cmljdGx5LXN0cnVjdHVyZWQtYmxvY2stNS5mOTA6IE5ldyB0ZXN0LgoKIGdjYy9m b3J0cmFuL29wZW5tcC5jYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKwog Z2NjL2ZvcnRyYW4vcGFyc2UuY2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAy MiArKysrKy0tCiBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2Jsb2NrXzE3LmY5MCAgICAg ICAgICAgICB8ICA5ICsrKwogLi4uL2dvbXAvc3RyaWN0bHktc3RydWN0dXJlZC1ibG9jay01 LmY5MCAgICAgICAgICAgfCA3NyArKysrKysrKysrKysrKysrKysrKysrCiAuLi4vc3RyaWN0 bHktc3RydWN0dXJlZC1ibG9jay0xLmY5MCAgICAgICAgICAgICAgICB8IDIyICsrKysrKysK IDUgZmlsZXMgY2hhbmdlZCwgMTI3IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vb3Blbm1wLmNjIGIvZ2NjL2ZvcnRyYW4vb3Blbm1w LmNjCmluZGV4IGRjMGM4MDEzYzNkLi43OWI1YWUwZTRiZCAxMDA2NDQKLS0tIGEvZ2NjL2Zv cnRyYW4vb3Blbm1wLmNjCisrKyBiL2djYy9mb3J0cmFuL29wZW5tcC5jYwpAQCAtMTEyNDUs NiArMTEyNDUsOCBAQCByZXNvbHZlX29tcF90YXJnZXQgKGdmY19jb2RlICpjb2RlKQogICBp ZiAoIWNvZGUtPmV4dC5vbXBfY2xhdXNlcy0+Y29udGFpbnNfdGVhbXNfY29uc3RydWN0KQog ICAgIHJldHVybjsKICAgZ2ZjX2NvZGUgKmMgPSBjb2RlLT5ibG9jay0+bmV4dDsKKyAgaWYg KGMtPm9wID09IEVYRUNfQkxPQ0spCisgICAgYyA9IGMtPmV4dC5ibG9jay5ucy0+Y29kZTsK ICAgaWYgKGNvZGUtPmV4dC5vbXBfY2xhdXNlcy0+dGFyZ2V0X2ZpcnN0X3N0X2lzX3RlYW1z CiAgICAgICAmJiAoKEdGQ19JU19URUFNU19DT05TVFJVQ1QgKGMtPm9wKSAmJiBjLT5uZXh0 ID09IE5VTEwpCiAJICB8fCAoYy0+b3AgPT0gRVhFQ19CTE9DSwpkaWZmIC0tZ2l0IGEvZ2Nj L2ZvcnRyYW4vcGFyc2UuY2MgYi9nY2MvZm9ydHJhbi9wYXJzZS5jYwppbmRleCA1ODM4Njgw NWZmZS4uNDQ0YmFmNDJjYmQgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3BhcnNlLmNjCisr KyBiL2djYy9mb3J0cmFuL3BhcnNlLmNjCkBAIC01ODE0LDcgKzU4MTQsNyBAQCBwYXJzZV9v bXBfc3RydWN0dXJlZF9ibG9jayAoZ2ZjX3N0YXRlbWVudCBvbXBfc3QsIGJvb2wgd29ya3No YXJlX3N0bXRzX29ubHkpCiB7CiAgIGdmY19zdGF0ZW1lbnQgc3QsIG9tcF9lbmRfc3QsIGZp cnN0X3N0OwogICBnZmNfY29kZSAqY3AsICpucDsKLSAgZ2ZjX3N0YXRlX2RhdGEgczsKKyAg Z2ZjX3N0YXRlX2RhdGEgcywgczI7CiAKICAgYWNjZXB0X3N0YXRlbWVudCAob21wX3N0KTsK IApAQCAtNTkxNSwxMyArNTkxNSwyMSBAQCBwYXJzZV9vbXBfc3RydWN0dXJlZF9ibG9jayAo Z2ZjX3N0YXRlbWVudCBvbXBfc3QsIGJvb2wgd29ya3NoYXJlX3N0bXRzX29ubHkpCiAgICAg ICBnZmNfbm90aWZ5X3N0ZCAoR0ZDX1NURF9GMjAwOCwgIkJMT0NLIGNvbnN0cnVjdCBhdCAl QyIpOwogCiAgICAgICBteV9ucyA9IGdmY19idWlsZF9ibG9ja19ucyAoZ2ZjX2N1cnJlbnRf bnMpOwotICAgICAgZ2ZjX2N1cnJlbnRfbnMgPSBteV9uczsKLSAgICAgIG15X3BhcmVudCA9 IG15X25zLT5wYXJlbnQ7Ci0KICAgICAgIG5ld19zdC5vcCA9IEVYRUNfQkxPQ0s7CiAgICAg ICBuZXdfc3QuZXh0LmJsb2NrLm5zID0gbXlfbnM7CiAgICAgICBuZXdfc3QuZXh0LmJsb2Nr LmFzc29jID0gTlVMTDsKICAgICAgIGFjY2VwdF9zdGF0ZW1lbnQgKFNUX0JMT0NLKTsKKwor ICAgICAgcHVzaF9zdGF0ZSAoJnMyLCBDT01QX0JMT0NLLCBteV9ucy0+cHJvY19uYW1lKTsK KyAgICAgIGdmY19jdXJyZW50X25zID0gbXlfbnM7CisgICAgICBteV9wYXJlbnQgPSBteV9u cy0+cGFyZW50OworICAgICAgaWYgKG9tcF9zdCA9PSBTVF9PTVBfU0VDVElPTlMKKwkgIHx8 IG9tcF9zdCA9PSBTVF9PTVBfUEFSQUxMRUxfU0VDVElPTlMpCisJeworCSAgbnAgPSBuZXdf bGV2ZWwgKGNwKTsKKwkgIG5wLT5vcCA9IGNwLT5vcDsKKwl9CisKICAgICAgIGZpcnN0X3N0 ID0gbmV4dF9zdGF0ZW1lbnQgKCk7CiAgICAgICBzdCA9IHBhcnNlX3NwZWMgKGZpcnN0X3N0 KTsKICAgICB9CkBAIC01OTM3LDYgKzU5NDUsOCBAQCBwYXJzZV9vbXBfc3RydWN0dXJlZF9i bG9jayAoZ2ZjX3N0YXRlbWVudCBvbXBfc3QsIGJvb2wgd29ya3NoYXJlX3N0bXRzX29ubHkp CiAgICAgICBjYXNlIFNUX09NUF9URUFNU19MT09QOgogCXsKIAkgIGdmY19zdGF0ZV9kYXRh ICpzdGsgPSBnZmNfc3RhdGVfc3RhY2stPnByZXZpb3VzOworCSAgaWYgKHN0ay0+c3RhdGUg PT0gQ09NUF9PTVBfU1RSSUNUTFlfU1RSVUNUVVJFRF9CTE9DSykKKwkgICAgc3RrID0gc3Rr LT5wcmV2aW91czsKIAkgIHN0ay0+dGFpbC0+ZXh0Lm9tcF9jbGF1c2VzLT50YXJnZXRfZmly c3Rfc3RfaXNfdGVhbXMgPSB0cnVlOwogCSAgYnJlYWs7CiAJfQpAQCAtNjAzNSw4ICs2MDQ1 LDEwIEBAIHBhcnNlX29tcF9zdHJ1Y3R1cmVkX2Jsb2NrIChnZmNfc3RhdGVtZW50IG9tcF9z dCwgYm9vbCB3b3Jrc2hhcmVfc3RtdHNfb25seSkKICAgICAgIGVsc2UgaWYgKGJsb2NrX2Nv bnN0cnVjdCAmJiBzdCA9PSBTVF9FTkRfQkxPQ0spCiAJewogCSAgYWNjZXB0X3N0YXRlbWVu dCAoc3QpOworCSAgZ2ZjX2N1cnJlbnRfbnMtPmNvZGUgPSBnZmNfc3RhdGVfc3RhY2stPmhl YWQ7CiAJICBnZmNfY3VycmVudF9ucyA9IG15X3BhcmVudDsKLQkgIHBvcF9zdGF0ZSAoKTsK KwkgIHBvcF9zdGF0ZSAoKTsgIC8qIElubmVyIEJMT0NLICovCisJICBwb3Bfc3RhdGUgKCk7 ICAvKiBPdXRlciBDT01QX09NUF9TVFJJQ1RMWV9TVFJVQ1RVUkVEX0JMT0NLICovCiAKIAkg IHN0ID0gbmV4dF9zdGF0ZW1lbnQgKCk7CiAJICBpZiAoc3QgPT0gb21wX2VuZF9zdCkKZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvYmxvY2tfMTcuZjkwIGIvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9ibG9ja18xNy5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAuLjZhYjMxMDZlYmQwCi0tLSAvZGV2L251bGwKKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9ibG9ja18xNy5mOTAKQEAgLTAsMCArMSw5IEBA CitzdWJyb3V0aW5lIGZvbygpCisgIGJsb2NrCisgIGVuZCBibG9jaworZW5kCisKK3N1YnJv dXRpbmUgYmFyKCkKKyAgbXlfbmFtZTogYmxvY2sKKyAgZW5kIGJsb2NrIG15X25hbWUKK2Vu ZApkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL3N0cmljdGx5 LXN0cnVjdHVyZWQtYmxvY2stNS5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dv bXAvc3RyaWN0bHktc3RydWN0dXJlZC1ibG9jay01LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uNzljYjkyMDcxODAKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvc3RyaWN0bHktc3RydWN0dXJlZC1ibG9j ay01LmY5MApAQCAtMCwwICsxLDc3IEBACitzdWJyb3V0aW5lIGYoKQorICAhJG9tcCBwYXJh bGxlbAorICBibG9jaworICBlbmQgYmxvY2sKKworICAhJG9tcCBwYXJhbGxlbAorICBibG9j aworICAgIGlubmVyOiBibG9jaworICAgICAgIGJsb2NrCisgICAgICAgZW5kIGJsb2NrCisg ICAgZW5kIGJsb2NrIGlubmVyCisgIGVuZCBibG9jaworZW5kCisKK3N1YnJvdXRpbmUgZjIo KQorICAhJG9tcCBwYXJhbGxlbAorICBteV9uYW1lIDogYmxvY2sKKyAgZW5kIGJsb2NrIG15 X25hbWUKKworICAhJG9tcCBwYXJhbGxlbAorICBhbm90aGVyX2Jsb2NrIDogYmxvY2sKKyAg ICBpbm5lcjogYmxvY2sKKyAgICAgICBibG9jaworICAgICAgIGVuZCBibG9jaworICAgIGVu ZCBibG9jayBpbm5lcgorICBlbmQgYmxvY2sgYW5vdGhlcl9ibG9jaworZW5kCisKK3N1YnJv dXRpbmUgZjMoKQorICAhJG9tcCBwYXJhbGxlbAorICBteV9uYW1lIDogYmxvY2sKKyAgZW5k IGJsb2NrIG15X25hbWUyICAhIHsgZGctZXJyb3IgIkV4cGVjdGVkIGxhYmVsICdteV9uYW1l JyBmb3IgRU5EIEJMT0NLIHN0YXRlbWVudCIgfQorICBlbmQgYmxvY2sgbXlfbmFtZSAgICEg YXZvaWQgZm9sbG93IHVwIGVycm9ycworZW5kIHN1YnJvdXRpbmUKKworc3Vicm91dGluZSBm NAorICBpbnRlZ2VyIDo6IG4KKyAgbiA9IDUKKyAgISRvbXAgcGFyYWxsZWwKKyAgbXk6IGJs b2NrCisgICAgaW50ZWdlciA6OiBBKG4pCisgICAgQSgxKSA9IDEKKyAgZW5kIGJsb2NrIG15 CitlbmQKKworc3Vicm91dGluZSBmNGEKKyAgaW50cmluc2ljIDo6IHNpbgorICAhJG9tcCBw YXJhbGxlbAorICBibG9jaworICAgIHByb2NlZHVyZSgpLCBwb2ludGVyIDo6IHByb2MKKyAg ICBwcm9jZWR1cmUoc2luKSA6OiBteV9zaW4KKyAgICBwcm9jID0+IHNpbgorICBlbmQgYmxv Y2sKK2VuZCBzdWJyb3V0aW5lCisKK3N1YnJvdXRpbmUgZjUoeCkKKyAgISRvbXAgcGFyYWxs ZWwKKyAgYmxvY2sKKyAgICBpbnRlbnQoaW4pIDo6IHggICEgeyBkZy1lcnJvciAiSU5URU5U IGlzIG5vdCBhbGxvd2VkIGluc2lkZSBvZiBCTE9DSyIgfQorICAgIG9wdGlvbmFsIDo6IHgg ICAgISB7IGRnLWVycm9yICJPUFRJT05BTCBpcyBub3QgYWxsb3dlZCBpbnNpZGUgb2YgQkxP Q0siIH0KKyAgICB2YWx1ZSA6OiB4ICAgICAgICEgeyBkZy1lcnJvciAiVkFMVUUgaXMgbm90 IGFsbG93ZWQgaW5zaWRlIG9mIEJMT0NLIiB9CisgIGVuZCBibG9jaworZW5kCisKK3N1YnJv dXRpbmUgZjYoKQorICAhJG9tcCBwYXJhbGxlbAorICBteWJsb2NrOiBibG9jaworICAgIGN5 Y2xlIG15YmxvY2sgISAgeyBkZy1lcnJvciAiQ1lDTEUgc3RhdGVtZW50IGF0IC4xLiBpcyBu b3QgYXBwbGljYWJsZSB0byBub24tbG9vcCBjb25zdHJ1Y3QgJ215YmxvY2snIiB9CisgIGVu ZCBibG9jayBteWJsb2NrCisKKyAgISRvbXAgcGFyYWxsZWwKKyAgbXlibG9jazI6IGJsb2Nr CisgICAgZXhpdCAgbXlibG9jazIgISBPSy4KKyAgICAhIGp1bXBzIHRvIHRoZSBlbmQgb2Yg dGhlIGJsb2NrIGJ1dCBzdGF5cyBpbiB0aGUgc3RydWN0dXJlZCBibG9jaworICBlbmQgYmxv Y2sgbXlibG9jazIKKyAgISRvbXAgZW5kIHBhcmFsbGVsCitlbmQKZGlmZiAtLWdpdCBhL2xp YmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuZm9ydHJhbi9zdHJpY3RseS1zdHJ1Y3R1cmVkLWJs b2NrLTEuZjkwIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5mb3J0cmFuL3N0cmljdGx5 LXN0cnVjdHVyZWQtYmxvY2stMS5mOTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAuLjhlN2Y2YzhiOWQzCi0tLSAvZGV2L251bGwKKysrIGIvbGliZ29tcC90ZXN0 c3VpdGUvbGliZ29tcC5mb3J0cmFuL3N0cmljdGx5LXN0cnVjdHVyZWQtYmxvY2stMS5mOTAK QEAgLTAsMCArMSwyMiBAQAorc3Vicm91dGluZSBvbmUKKyAgaW1wbGljaXQgbm9uZSAoZXh0 ZXJuYWwsIHR5cGUpCisgIGludGVnZXIgOjogaSwgagorICBpID0gNQorICBqID0gNgorICAh JG9tcCBwYXJhbGxlbAorICBteV9ibG9jayA6IGJsb2NrCisgICAgISRvbXAgYXRvbWljIHdy aXRlCisgICAgaSA9IDcKKyAgICBleGl0IG15X2Jsb2NrCisKKyAgICAhJG9tcCBhdG9taWMg d3JpdGUKKyAgICBqID0gOTkgICEgU2hvdWxkIGJlIHVucmVhY2hhYmxlCisKKyAgICAhIGV4 aXQgc2hvdWxkIGp1bXAgaGVyZSAtIGVuZCBvZiBibG9jayBidXQgaW5zaWRlIG9mIGl0Lgor ICBlbmQgYmxvY2sgbXlfYmxvY2sKKyAgaWYgKGkgLz0gNykgc3RvcCAxCisgIGlmIChqIC89 IDYpIHN0b3AgMgorZW5kCisKKyBjYWxsIG9uZQorZW5kCg== --------------Y7BRRo0y1xe7fGYCGXOByDcG--