From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com [IPv6:2a00:1450:4864:20::132]) by sourceware.org (Postfix) with ESMTPS id B31BC3854804; Sat, 12 Dec 2020 10:39:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B31BC3854804 Received: by mail-lf1-x132.google.com with SMTP id a12so17905734lfl.6; Sat, 12 Dec 2020 02:39:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=w580e0BYi6h3Y+LuvBlQt9+cnQuMhyuaY0vUZ3yzHso=; b=EzqeQ8bC2YWfqJ4/NF/rjkT+iFBzu0ilPvlAhW+q2LaGEpi6bIDMWu6uZcGrtsg4lS nkcs5fop1tlaw4rw89yqZRWwb2FdR/meyDeD1rVK/JEAJRFAu3fLvYCs4pLE7T40WSb9 NKnvc0GthZ6C+iQt7bY2w4Bp/rKwILcS9+J7g25tthf2zGxMmv42hS7wXPXmbCs2TiCO mN3FQhGnXxi+UjStvJAJBo0d8Ot7T1z8va9YYi2ytgQ0lYUXRdtZDpAxLV06CA4+A+xP trAANiSGbnRVQES+yrzv9HwMDXtWugtwLo8rW8R6uEY3gv+SQCtuvuBbpNiAV7uYwqkR t0lw== X-Gm-Message-State: AOAM530iDGBf6vedmfymg5y+kOvjBhE81U2KuMjW+GCkU7X+taAiMX1d eMZVd3xzmvYILI+aCfxU8HHNziczuKQiY/PydylePYw3t58= X-Google-Smtp-Source: ABdhPJx9KV7Ec7PdcJCtzYr00uo6Kt2/dBy2++fRC5u4VHLAJCPQoIkUZEPPe/kr8afGlK6BYgHyOr35+5RwyRCrwXk= X-Received: by 2002:a19:54c:: with SMTP id 73mr6221526lff.551.1607769540173; Sat, 12 Dec 2020 02:39:00 -0800 (PST) MIME-Version: 1.0 From: Paul Richard Thomas Date: Sat, 12 Dec 2020 10:38:48 +0000 Message-ID: Subject: [Patch, fortran] PR97694 - ICE with optional assumed rank class(*) argument (and PR97723) To: "fortran@gcc.gnu.org" , gcc-patches Cc: mscfd@gmx.net Content-Type: multipart/mixed; boundary="00000000000052ba5e05b64204f5" X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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: Sat, 12 Dec 2020 10:39:05 -0000 --00000000000052ba5e05b64204f5 Content-Type: text/plain; charset="UTF-8" Fortran: Fix some select rank issues [PR97694 and 97723]. Hi All, Unlike select type, select rank selectors retain the allocatable attribute. This is corrected by the chunk in check.c. Note the trailing whitespace corrections. Resolution of select rank construct must be done in the same way as select type and so the break has been added to ensure that the block is resolved in resolve_select_rank. The final chunk prevents segfaults for class associate variables that are optional dummies, since these apparently are not adorned with the GFC_DECL_SAVED_DESCRIPTOR. Regtests OK on FC31/x86_64 - OK for master? Cheers Paul 2020-12-12 Paul Thomas gcc/fortran PR fortran/97694 PR fortran/97723 * check.c (allocatable_check): Select rank temporaries are permitted even though they are treated as associate variables. * resolve.c (gfc_resolve_code): Break on select rank as well as select type so that the block os resolved. * trans-stmt.c (trans_associate_var): Class associate variables that are optional dummies must use the backend_decl. gcc/testsuite/ PR fortran/97694 PR fortran/97723 * gfortran.dg/select_rank_5.f90: New test. --00000000000052ba5e05b64204f5 Content-Type: text/x-patch; charset="US-ASCII"; name="submit.diff" Content-Disposition: attachment; filename="submit.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kiljtkjq0 ZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL2NoZWNrLmMgYi9nY2MvZm9ydHJhbi9jaGVjay5jCmlu ZGV4IDFlNjRmYWIzNDAxLi5kODgyOWU0MmIxOCAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vY2hl Y2suYworKysgYi9nY2MvZm9ydHJhbi9jaGVjay5jCkBAIC0yODksNyArMjg5LDcgQEAgYmluMnJl YWwgKGdmY19leHByICp4LCBpbnQga2luZCkKIH0KIAogCi0vKiBGb3J0cmFuIDIwMTggdHJlYXRz IGEgQk9aIGFzIHNpbXBseSBhIHN0cmluZyBvZiBiaXRzLiAgZ2ZjX2JvejJyZWFsICgpIAorLyog Rm9ydHJhbiAyMDE4IHRyZWF0cyBhIEJPWiBhcyBzaW1wbHkgYSBzdHJpbmcgb2YgYml0cy4gIGdm Y19ib3oycmVhbCAoKQogICAgY29udmVydHMgdGhlIHN0cmluZyBpbnRvIGEgUkVBTCBvZiB0aGUg YXBwcm9wcmlhdGUga2luZC4gIFRoZSB0cmVhdG1lbnQKICAgIG9mIHRoZSBzaWduIGJpdCBpcyBw cm9jZXNzb3IgZGVwZW5kZW50LiAgKi8KIApAQCAtMzc3LDEyICszNzcsMTIgQEAgZ2ZjX2JvejJy ZWFsIChnZmNfZXhwciAqeCwgaW50IGtpbmQpCiB9CiAKIAotLyogRm9ydHJhbiAyMDE4IHRyZWF0 cyBhIEJPWiBhcyBzaW1wbHkgYSBzdHJpbmcgb2YgYml0cy4gIGdmY19ib3oyaW50ICgpIAorLyog Rm9ydHJhbiAyMDE4IHRyZWF0cyBhIEJPWiBhcyBzaW1wbHkgYSBzdHJpbmcgb2YgYml0cy4gIGdm Y19ib3oyaW50ICgpCiAgICBjb252ZXJ0cyB0aGUgc3RyaW5nIGludG8gYW4gSU5URUdFUiBvZiB0 aGUgYXBwcm9wcmlhdGUga2luZC4gIFRoZQogICAgdHJlYXRtZW50IG9mIHRoZSBzaWduIGJpdCBp cyBwcm9jZXNzb3IgZGVwZW5kZW50LiAgSWYgdGhlICBjb252ZXJ0ZWQKICAgIHZhbHVlIGV4Y2Vl ZHMgdGhlIHJhbmdlIG9mIHRoZSB0eXBlLCB0aGVuIHdyYXAtYXJvdW5kIHNlbWFudGljcyBhcmUK ICAgIGFwcGxpZWQuICAqLwotIAorCiBib29sCiBnZmNfYm96MmludCAoZ2ZjX2V4cHIgKngsIGlu dCBraW5kKQogewpAQCAtOTc1LDcgKzk3NSw4IEBAIGFsbG9jYXRhYmxlX2NoZWNrIChnZmNfZXhw ciAqZSwgaW50IG4pCiAgIHN5bWJvbF9hdHRyaWJ1dGUgYXR0cjsKIAogICBhdHRyID0gZ2ZjX3Zh cmlhYmxlX2F0dHIgKGUsIE5VTEwpOwotICBpZiAoIWF0dHIuYWxsb2NhdGFibGUgfHwgYXR0ci5h c3NvY2lhdGVfdmFyKQorICBpZiAoIWF0dHIuYWxsb2NhdGFibGUKKyAgICAgfHwgKGF0dHIuYXNz b2NpYXRlX3ZhciAmJiAhYXR0ci5zZWxlY3RfcmFua190ZW1wb3JhcnkpKQogICAgIHsKICAgICAg IGdmY19lcnJvciAoIiVxcyBhcmd1bWVudCBvZiAlcXMgaW50cmluc2ljIGF0ICVMIG11c3QgYmUg QUxMT0NBVEFCTEUiLAogCQkgZ2ZjX2N1cnJlbnRfaW50cmluc2ljX2FyZ1tuXS0+bmFtZSwgZ2Zj X2N1cnJlbnRfaW50cmluc2ljLApAQCAtMzIzMiw3ICszMjMzLDcgQEAgZ2ZjX2NoZWNrX2ludGNv bnYgKGdmY19leHByICp4KQogICAgICAgfHwgc3RyY21wIChnZmNfY3VycmVudF9pbnRyaW5zaWMs ICJsb25nIikgPT0gMCkKICAgICB7CiAgICAgICBnZmNfZXJyb3IgKCIlcXMgaW50cmluc2ljIHN1 YnByb2dyYW0gYXQgJUwgaGFzIGJlZW4gZGVwcmVjYXRlZC4gICIKLQkJICJVc2UgSU5UIGludHJp bnNpYyBzdWJwcm9ncmFtLiIsIGdmY19jdXJyZW50X2ludHJpbnNpYywgCisJCSAiVXNlIElOVCBp bnRyaW5zaWMgc3VicHJvZ3JhbS4iLCBnZmNfY3VycmVudF9pbnRyaW5zaWMsCiAJCSAmeC0+d2hl cmUpOwogICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KQEAgLTM5NjUsNyArMzk2Niw3IEBAIGdm Y19jaGVja19maW5kbG9jIChnZmNfYWN0dWFsX2FyZ2xpc3QgKmFwKQogICAvKiBDaGVjayB0aGUg a2luZCBvZiB0aGUgY2hhcmFjdGVycyBhcmd1bWVudCBtYXRjaC4gICovCiAgIGlmIChhMSAmJiB2 MSAmJiBhLT50cy5raW5kICE9IHYtPnRzLmtpbmQpCiAgICAgZ290byBpbmNvbXBhdDsKLQkgCisK ICAgZCA9IGFwLT5uZXh0LT5uZXh0LT5leHByOwogICBtID0gYXAtPm5leHQtPm5leHQtPm5leHQt PmV4cHI7CiAgIGsgPSBhcC0+bmV4dC0+bmV4dC0+bmV4dC0+bmV4dC0+ZXhwcjsKZGlmZiAtLWdp dCBhL2djYy9mb3J0cmFuL3Jlc29sdmUuYyBiL2djYy9mb3J0cmFuL3Jlc29sdmUuYwppbmRleCAw YThmOTA3NzVhYi4uODkxNTcxYzA4NjQgMTAwNjQ0Ci0tLSBhL2djYy9mb3J0cmFuL3Jlc29sdmUu YworKysgYi9nY2MvZm9ydHJhbi9yZXNvbHZlLmMKQEAgLTExNzc2LDggKzExNzc2LDkgQEAgZ2Zj X3Jlc29sdmVfY29kZSAoZ2ZjX2NvZGUgKmNvZGUsIGdmY19uYW1lc3BhY2UgKm5zKQogCSAgICAg IGdmY19yZXNvbHZlX29tcF9kb19ibG9ja3MgKGNvZGUsIG5zKTsKIAkgICAgICBicmVhazsKIAkg ICAgY2FzZSBFWEVDX1NFTEVDVF9UWVBFOgotCSAgICAgIC8qIEJsb2NrcyBhcmUgaGFuZGxlZCBp biByZXNvbHZlX3NlbGVjdF90eXBlIGJlY2F1c2Ugd2UgaGF2ZQotCQkgdG8gdHJhbnNmb3JtIHRo ZSBTRUxFQ1QgVFlQRSBpbnRvIEFTU09DSUFURSBmaXJzdC4gICovCisJICAgIGNhc2UgRVhFQ19T RUxFQ1RfUkFOSzoKKwkgICAgICAvKiBCbG9ja3MgYXJlIGhhbmRsZWQgaW4gcmVzb2x2ZV9zZWxl Y3RfdHlwZS9yYW5rIGJlY2F1c2Ugd2UKKwkJIGhhdmUgdG8gdHJhbnNmb3JtIHRoZSBTRUxFQ1Qg VFlQRSBpbnRvIEFTU09DSUFURSBmaXJzdC4gICovCiAJICAgICAgYnJlYWs7CiAgICAgICAgICAg ICBjYXNlIEVYRUNfRE9fQ09OQ1VSUkVOVDoKIAkgICAgICBnZmNfZG9fY29uY3VycmVudF9mbGFn ID0gMTsKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3RyYW5zLXN0bXQuYyBiL2djYy9mb3J0cmFu L3RyYW5zLXN0bXQuYwppbmRleCBhZGM2YjhmZWZiNS4uYWI5OWU1Nzk0NjEgMTAwNjQ0Ci0tLSBh L2djYy9mb3J0cmFuL3RyYW5zLXN0bXQuYworKysgYi9nY2MvZm9ydHJhbi90cmFucy1zdG10LmMK QEAgLTE3ODQsNyArMTc4NCw3IEBAIHRyYW5zX2Fzc29jaWF0ZV92YXIgKGdmY19zeW1ib2wgKnN5 bSwgZ2ZjX3dyYXBwZWRfYmxvY2sgKmJsb2NrKQogICAgICAgaWYgKGUtPnRzLnR5cGUgPT0gQlRf Q0xBU1MpCiAJewogCSAgLyogR28gc3RyYWlnaHQgdG8gdGhlIGNsYXNzIGRhdGEuICAqLwotCSAg aWYgKHN5bTItPmF0dHIuZHVtbXkpCisJICBpZiAoc3ltMi0+YXR0ci5kdW1teSAmJiAhc3ltMi0+ YXR0ci5vcHRpb25hbCkKIAkgICAgewogCSAgICAgIGNsYXNzX2RlY2wgPSBERUNMX0xBTkdfU1BF Q0lGSUMgKHN5bTItPmJhY2tlbmRfZGVjbCkgPwogCQkJICAgR0ZDX0RFQ0xfU0FWRURfREVTQ1JJ UFRPUiAoc3ltMi0+YmFja2VuZF9kZWNsKSA6Cg== --00000000000052ba5e05b64204f5 Content-Type: text/x-fortran; charset="UTF-8"; name="select_rank_5.f90" Content-Disposition: attachment; filename="select_rank_5.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kilju4ww1 ISB7IGRnLWRvIHJ1biB9CiEKISBUZXN0IHRoZSBmaXhlcyBmb3IgUFI5NzcyMyBhbmQgUFI5NzY5 NC4KIQohIENvbnRyaWJ1dGVkIGJ5IE1hcnRpbiAgPG1zY2ZkQGdteC5uZXQ+CiEKbW9kdWxlIG1v ZAogICBpbXBsaWNpdCBub25lCiAgIHByaXZhdGUKICAgcHVibGljIGNzc2VsCgpjb250YWlucwoK ZnVuY3Rpb24gY3NzZWwoeCkgcmVzdWx0KHMpCiAgIGNoYXJhY3RlcihsZW49OiksIGFsbG9jYXRh YmxlIDo6IHMKICAgY2xhc3MoKiksIGRpbWVuc2lvbiguLiksIG9wdGlvbmFsLCBpbnRlbnQoaW4p IDo6IHgKICAgaWYgKHByZXNlbnQoeCkpIHRoZW4KICAgICAgc2VsZWN0IHJhbmsgKHgpCiAgICAg IHJhbmsgKDApCiAgICAgICAgIHMgPSAnMCcgISBQUjk3NzIzOiDigJhhc3NpZ27igJkgYXQgKDEp IGlzIG5vdCBhIGZ1bmN0aW9uCiAgICAgICAgICAgICAgICAgISBQUjk3Njk0OiBJQ0UgaW4gdHJh bnMtc3RtdC5jKHRyYW5zX2Fzc29jaWF0ZV92YXIpCiAgICAgIHJhbmsgKDEpCiAgICAgICAgIHMg PSAnMScgISBQUjk3NzIzOiDigJhhc3NpZ27igJkgYXQgKDEpIGlzIG5vdCBhIGZ1bmN0aW9uCiAg ICAgIHJhbmsgZGVmYXVsdAogICAgICAgICBzID0gJz8nICEgUFI5NzcyMzog4oCYYXNzaWdu4oCZ IGF0ICgxKSBpcyBub3QgYSBmdW5jdGlvbgogICAgICBlbmQgc2VsZWN0CiAgIGVsc2UKICAgICAg cyA9ICctJwogICBlbmQgaWYKZW5kIGZ1bmN0aW9uIGNzc2VsCgplbmQgbW9kdWxlIG1vZAoKcHJv Z3JhbSBjbGFzc3N0YXJfcmFuawogICB1c2UgbW9kCiAgIGltcGxpY2l0IG5vbmUKCiAgIGludGVn ZXIgOjogeAogICByZWFsLCBkaW1lbnNpb24oMTozKSA6OiB5CiAgIGxvZ2ljYWwsIGRpbWVuc2lv bigxOjIsMToyKSA6OiB6CgogICBpZiAoYW55IChbY3NzZWwoeCksY3NzZWwoeSksY3NzZWwoeiks Y3NzZWwoKV0gLm5lLiBbJzAnLCcxJywnPycsJy0nXSkpIHN0b3AgMQoKZW5kIHByb2dyYW0gY2xh c3NzdGFyX3JhbmsK --00000000000052ba5e05b64204f5--