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 140E63858D20; Fri, 4 Feb 2022 11:39:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 140E63858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: Suc40guF0WX9D4+G6FbZC/O/YttVSzTNOgvhoTXpvX7fu8FaCpo1Bmg4hsByqJDcmNjLEB4A99 dhg+0OuLjxUsqZtnzCEv5GZy71CGkrXkIVjyiNYxvHU8IutZK/GsYcx2A69g/23sQAK450BZau VCWaFUu9LI8f2xOAZjTe/kun3qgdw3SqNs/2b/Kavx7uu71LZLRpjeac8Crc4HbRqzfc7Np8MT Fp64BuyTs5oEY944K9K3m1DpQyonLNYACyu3E0AfKTPSYrbXFTzoUIQdsA1BBjqHZWGPXAQvfU 7RmXdV0rJInx8dEWv0C6elz4 X-IronPort-AV: E=Sophos;i="5.88,342,1635235200"; d="diff'?scan'208";a="71606471" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 04 Feb 2022 03:39:59 -0800 IronPort-SDR: KD/xPvrM/excEiXzywt2w6NMaGg9Od1Vsai1XMntwJSxwx9PUX33BHG2IPS57kh5+9c5IsC2Kx MHU5X5VghBHotRf7IEnc6WiNkMj9d1XfPIju7gEclRwJV7g2J50yEtqQ0PphBmeFJ/aj2cavSl QjDQw22zav3rWmzEaX5vHjgvGRRVTOJSHz3jk4yaQuRaM1n2T4J4XPbgFY2rjcYi6pKyq2YRE+ z3W+jZL0twEjCqdUfDxjsx3vk2WMxGjFWSTbwz8uJX4XolIt7DQcrk0N5dzZlJNb4UyQc6X13C pM8= Content-Type: multipart/mixed; boundary="------------UEzqY8yD4WCsj4CWo6i2OCHi" Message-ID: <21a15d76-bc78-5cfc-bdf1-9839e3dcedf0@codesourcery.com> Date: Fri, 4 Feb 2022 12:39:53 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.1 Content-Language: en-US To: gcc-patches , fortran From: Tobias Burnus Subject: [Patch] Fortran/OpenMP: Avoid ICE for invalid char array in omp atomic [PR104329] X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) 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, RCVD_IN_MSPIKE_H2, 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, 04 Feb 2022 11:40:01 -0000 --------------UEzqY8yD4WCsj4CWo6i2OCHi Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Already during parsing, the allocatable character array assignment x =3D (x) is converted to two gfc_codes with EXEC_ASSIGN, namely: ASSIGN z1:_F.DA0(FULL) (parens z1:x(FULL)) ASSIGN z1:x(FULL) z1:_F.DA0(FULL) But the current code expects only one gfc_code - as parse.c does some checks, that's unexpected for resolution and currently is checked with an gcc_assert. Solution: I now defer the gfc_assert until after diagnosing the arguments. OK for mainline (only affected version)? 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 --------------UEzqY8yD4WCsj4CWo6i2OCHi Content-Type: text/x-patch; charset="UTF-8"; name="omp-char-arr-fix.diff" Content-Disposition: attachment; filename="omp-char-arr-fix.diff" Content-Transfer-Encoding: base64 Rm9ydHJhbi9PcGVuTVA6IEF2b2lkIElDRSBmb3IgaW52YWxpZCBjaGFyIGFycmF5IGluIG9t cCBhdG9taWMgW1BSMTA0MzI5XQoKCVBSIGZvcnRyYW4vMTA0MzI5CmdjYy9mb3J0cmFuL0No YW5nZUxvZzoKCgkqIG9wZW5tcC5jYyAocmVzb2x2ZV9vbXBfYXRvbWljKTogRGVmZXIgZXh0 cmEtY29kZSBhc3NlcnQgYWZ0ZXIKCW90aGVyIGRpYWdub3N0aWNzLgoKZ2NjL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2c6CgoJKiBnZm9ydHJhbi5kZy9nb21wL2F0b21pYy0yOC5mOTA6IE5ldyB0 ZXN0LgoKIGdjYy9mb3J0cmFuL29wZW5tcC5jYyAgICAgICAgICAgICAgICAgICAgICAgIHwg MTEgKysrKysrKystLS0KIGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9hdG9taWMt MjguZjkwIHwgMjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFu Z2VkLCAzNiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2dj Yy9mb3J0cmFuL29wZW5tcC5jYyBiL2djYy9mb3J0cmFuL29wZW5tcC5jYwppbmRleCAzOGM2 N2UxZjY0MC4uYjFjMDY1ZDllOGIgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL29wZW5tcC5j YworKysgYi9nY2MvZm9ydHJhbi9vcGVubXAuY2MKQEAgLTc2ODcsNyArNzY4Nyw3IEBAIHJl c29sdmVfb21wX2F0b21pYyAoZ2ZjX2NvZGUgKmNvZGUpCiAgIGdmY19vbXBfYXRvbWljX29w IGFvcAogICAgID0gKGdmY19vbXBfYXRvbWljX29wKSAoYXRvbWljX2NvZGUtPmV4dC5vbXBf Y2xhdXNlcy0+YXRvbWljX29wCiAJCQkgICAmIEdGQ19PTVBfQVRPTUlDX01BU0spOwotICBn ZmNfY29kZSAqc3RtdCA9IE5VTEwsICpjYXB0dXJlX3N0bXQgPSBOVUxMOworICBnZmNfY29k ZSAqc3RtdCA9IE5VTEwsICpjYXB0dXJlX3N0bXQgPSBOVUxMLCAqdGFpbGluZ19zdG10ID0g TlVMTDsKICAgZ2ZjX2V4cHIgKmNvbXBfY29uZCA9IE5VTEw7CiAgIGxvY3VzICpsb2MgPSBO VUxMOwogCkBAIC03ODI1LDcgKzc4MjUsOCBAQCByZXNvbHZlX29tcF9hdG9taWMgKGdmY19j b2RlICpjb2RlKQogCSAgc3RtdCA9IGNvZGU7CiAJICBjYXB0dXJlX3N0bXQgPSBjb2RlLT5u ZXh0OwogCX0KLSAgICAgIGdjY19hc3NlcnQgKCFjb2RlLT5uZXh0LT5uZXh0KTsKKyAgICAg IC8qIFNoYWxsIGJlIE5VTEwgYnV0IGNhbiBoYXBwZW4gZm9yIGludmFsaWQgY29kZS4gKi8K KyAgICAgIHRhaWxpbmdfc3RtdCA9IGNvZGUtPm5leHQtPm5leHQ7CiAgICAgfQogICBlbHNl CiAgICAgewpAQCAtNzgzMyw3ICs3ODM0LDggQEAgcmVzb2x2ZV9vbXBfYXRvbWljIChnZmNf Y29kZSAqY29kZSkKICAgICAgIHN0bXQgPSBjb2RlOwogICAgICAgaWYgKCFhdG9taWNfY29k ZS0+ZXh0Lm9tcF9jbGF1c2VzLT5jb21wYXJlICYmIHN0bXQtPm9wICE9IEVYRUNfQVNTSUdO KQogCWdvdG8gdW5leHBlY3RlZDsKLSAgICAgIGdjY19hc3NlcnQgKCFjb2RlLT5uZXh0KTsK KyAgICAgIC8qIFNoYWxsIGJlIE5VTEwgYnV0IGNhbiBoYXBwZW4gZm9yIGludmFsaWQgY29k ZS4gKi8KKyAgICAgIHRhaWxpbmdfc3RtdCA9IGNvZGUtPm5leHQ7CiAgICAgfQogCiAgIGlm IChjb21wX2NvbmQpCkBAIC03ODg2LDYgKzc4ODgsOSBAQCByZXNvbHZlX29tcF9hdG9taWMg KGdmY19jb2RlICpjb2RlKQogICAgICAgcmV0dXJuOwogICAgIH0KIAorICAvKiBTaG91bGQg YmUgZGlhZ25vc2VkIGFib3ZlIGFscmVhZHkuICovCisgIGdjY19hc3NlcnQgKHRhaWxpbmdf c3RtdCA9PSBOVUxMKTsKKwogICB2YXIgPSBzdG10LT5leHByMS0+c3ltdHJlZS0+bi5zeW07 CiAgIHN0bXRfZXhwcjIgPSBpc19jb252ZXJzaW9uIChzdG10LT5leHByMiwgdHJ1ZSwgdHJ1 ZSk7CiAgIGlmIChzdG10X2V4cHIyID09IE5VTEwpCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1 aXRlL2dmb3J0cmFuLmRnL2dvbXAvYXRvbWljLTI4LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2Zv cnRyYW4uZGcvZ29tcC9hdG9taWMtMjguZjkwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwLi45MWUyOWM5NmQ0NQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9hdG9taWMtMjguZjkwCkBAIC0wLDAgKzEsMjggQEAK KyEgeyBkZy1kbyBjb21waWxlIH0KKyEKKyEgUFIgZm9ydHJhbi8xMDQzMjkKKyEKKyEgQ29u dHJpYnV0ZWQgYnkgRy4gU3RlaW5tZXR6CishCitzdWJyb3V0aW5lIHoxCisgICBjaGFyYWN0 ZXIoOiksIGFsbG9jYXRhYmxlIDo6IHgoOikKKyAgIHggPSBbJzEyMyddCisgICAhJG9tcCBh dG9taWMgdXBkYXRlCisgICB4ID0gKHgpICAhIHsgZGctZXJyb3IgIk9NUCBBVE9NSUMgc3Rh dGVtZW50IG11c3Qgc2V0IGEgc2NhbGFyIHZhcmlhYmxlIG9mIGludHJpbnNpYyB0eXBlIiB9 CitlbmQKKworc3Vicm91dGluZSB6MgorICAgY2hhcmFjdGVyKDopLCBhbGxvY2F0YWJsZSA6 OiB4KDopCisgICB4ID0gWycxMjMnXQorICAgISRvbXAgYXRvbWljIHVwZGF0ZQorICAgeCA9 ICdhJyAvLyB4IC8vICdlJyAgISB7IGRnLWVycm9yICJPTVAgQVRPTUlDIHN0YXRlbWVudCBt dXN0IHNldCBhIHNjYWxhciB2YXJpYWJsZSBvZiBpbnRyaW5zaWMgdHlwZSIgfQorZW5kCisK Kworc3Vicm91dGluZSB6MworICAgY2hhcmFjdGVyKDopLCBhbGxvY2F0YWJsZSA6OiB4KDop CisgICB4ID0gWycxMjMnXQorICAgISRvbXAgYXRvbWljIGNhcHR1cmUKKyAgIHggPSAnYScg Ly8geCAvLyAnZScgICEgeyBkZy1lcnJvciAiT01QIEFUT01JQyBzdGF0ZW1lbnQgbXVzdCBz ZXQgYSBzY2FsYXIgdmFyaWFibGUgb2YgaW50cmluc2ljIHR5cGUiIH0KKyAgIHggPSB4Citl bmQK --------------UEzqY8yD4WCsj4CWo6i2OCHi--