From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com [IPv6:2607:f8b0:4864:20::f32]) by sourceware.org (Postfix) with ESMTPS id ECA7E3858D1E; Tue, 8 Feb 2022 11:22:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org ECA7E3858D1E Received: by mail-qv1-xf32.google.com with SMTP id o5so6108334qvm.3; Tue, 08 Feb 2022 03:22:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=iAgGazvPiL3QSTbnf0nT2sVfeQwU2x3y+gnRPhOsnrI=; b=Wu9hzvU3jZCmt3hXK36DMJtIxK2U5Ay1Mt0P530Z1vdF9n6zmnJ2cK9fV20mHXWUu0 PCSfmmMCy5gwGZM2CFXzKIE8PgQzUPIZEDi9ACd4ataX7fBXj2l2jBegde1p5BDMTHcG LVsRoCChf6KH63oKrcK6W6CJgHHPmKCeZWCsKSRBXW2WP7PXa0hXg7MiIe/19z/R1uOZ cxZZ00xix/zfgmYT7uRCErAUokNQGZcFuxXUsM3N4j6sJvVbQnB+zaguATazHnUFwXF9 zzKZeKIcT5vSL3HAMRKDW+Fs5aU1uZTb2pq3tY9alxJPltZ0KQS7UngA0TUN4Tb4rWcX a9fA== X-Gm-Message-State: AOAM533Kn01Ew1tnk6gnPC6MF0f1TweWzYT90ReBwZaqY0217jZWEjgp Vu/P3MJ7/XtHSUQuue5YbNX4mjeSxc2OPGdVPDg= X-Google-Smtp-Source: ABdhPJwt+iHkEMXkgKp951XDgN3kK5Xc8fozuo1n4r7oLIRW3vzzZhsM6acDtqEI5o8OSaHiohlH+jux8UqATi7dxCQ= X-Received: by 2002:a05:6214:b6f:: with SMTP id ey15mr2731675qvb.49.1644319376536; Tue, 08 Feb 2022 03:22:56 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Paul Richard Thomas Date: Tue, 8 Feb 2022 11:22:45 +0000 Message-ID: Subject: Re: [Patch, fortran] PR37336 (Finalization) - [F03] Finish derived-type finalization To: Harald Anlauf Cc: "fortran@gcc.gnu.org" , gcc-patches , Alessandro Fanfarillo , Andrew Benson Content-Type: multipart/mixed; boundary="0000000000005629ad05d77ff00c" X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, 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-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: Tue, 08 Feb 2022 11:22:58 -0000 --0000000000005629ad05d77ff00c Content-Type: text/plain; charset="UTF-8" Hi Harald, Thanks for giving the patch a whirl. > the parent components as an array. I strongly suspect that, from reading > > 7.5.6.2 paragraphs 2 and 3 closely, that ifort has it right. However, > this > > is another issue to come back to in the future. > > Could you specify which version of Intel you tried? > ifort (IFORT) 2021.1 Beta 20201112 > > Testcase finalize_38.f90 fails for me with ifort 2021.5.0 with: > > 131 > That's the point where the interpretation of the standard diverges. Ifort uses the scalar finalization for the parent component, whereas gfortran uses the rank 1. Thus the final count is different by one. I have a version of the patch, where gfortran behaves in the same way as ifort. > This test also fails with crayftn 11 & 12 and nagfor 7.0, > but in a different place. > > > (Also finalize_45.f90 fails with that version with something that > looks like memory corruption, but that might be just a compiler bug.) > I take it 'that version' is of ifort? Mine does the same. I suspect that it is one of the perils of using pointer components in such circumstances! You will notice that I had to nullify pointer components when doing the copy. > > Thanks, > Harald > Could you use the attached version of finalize_38.f90 with crayftn and NAG? All the stop statements are replaced with prints. Ifort gives: 131 3 2 132 0 4 133 5 6 | 0 0 141 4 3 151 7 5 152 3 0 153 0 0 | 1 3 161 13 9 162 20 0 163 0 0 | 10 20 171 14 11 Best regards Paul --0000000000005629ad05d77ff00c Content-Type: text/x-fortran; charset="US-ASCII"; name="finalize_38.f90" Content-Disposition: attachment; filename="finalize_38.f90" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kze1a09j0 ISB7IGRnLWRvIHJ1biB9CiEKISBUZXN0IGZpbmFsaXphdGlvbiBvbiBpbnRyaW5zaWMgYXNzaWdu bWVudCAoRjIwMTggKDcuNS42LjMpKQohCm1vZHVsZSB0ZXN0bW9kZQogIGltcGxpY2l0IG5vbmUK CiAgdHlwZSA6OiBzaW1wbGUKICAgIGludGVnZXIgOjogaW5kCiAgY29udGFpbnMKICAgIGZpbmFs IDo6IGRlc3RydWN0b3IxLCBkZXN0cnVjdG9yMgogIGVuZCB0eXBlIHNpbXBsZQoKICB0eXBlLCBl eHRlbmRzKHNpbXBsZSkgOjogY29tcGxpY2F0ZWQKICAgIHJlYWwgOjogcmluZAogIGNvbnRhaW5z CiAgICBmaW5hbCA6OiBkZXN0cnVjdG9yMywgZGVzdHJ1Y3RvcjQKICBlbmQgdHlwZSBjb21wbGlj YXRlZAoKICBpbnRlZ2VyIDo6IGNoZWNrX3NjYWxhcgogIGludGVnZXIgOjogY2hlY2tfYXJyYXko NCkKICByZWFsIDo6IGNoZWNrX3JlYWwKICByZWFsIDo6IGNoZWNrX3JhcnJheSg0KQogIGludGVn ZXIgOjogZmluYWxfY291bnQgPSAwCgpjb250YWlucwoKICBzdWJyb3V0aW5lIGRlc3RydWN0b3Ix KHNlbGYpCiAgICB0eXBlKHNpbXBsZSksIGludGVudChpbm91dCkgOjogc2VsZgogICAgY2hlY2tf c2NhbGFyID0gc2VsZiVpbmQKICAgIGNoZWNrX2FycmF5ID0gMAogICAgZmluYWxfY291bnQgPSBm aW5hbF9jb3VudCArIDEKICBlbmQgc3Vicm91dGluZSBkZXN0cnVjdG9yMQoKICBzdWJyb3V0aW5l IGRlc3RydWN0b3IyKHNlbGYpCiAgICB0eXBlKHNpbXBsZSksIGludGVudChpbm91dCkgOjogc2Vs Zig6KQogICAgY2hlY2tfc2NhbGFyID0gMAogICAgY2hlY2tfYXJyYXkoMTpzaXplKHNlbGYsIDEp KSA9IHNlbGYlaW5kCiAgICBmaW5hbF9jb3VudCA9IGZpbmFsX2NvdW50ICsgMQogIGVuZCBzdWJy b3V0aW5lIGRlc3RydWN0b3IyCgogIHN1YnJvdXRpbmUgZGVzdHJ1Y3RvcjMoc2VsZikKICAgIHR5 cGUoY29tcGxpY2F0ZWQpLCBpbnRlbnQoaW5vdXQpIDo6IHNlbGYKICAgIGNoZWNrX3JlYWwgPSBz ZWxmJXJpbmQKICAgIGNoZWNrX2FycmF5ID0gMC4wCiAgICBmaW5hbF9jb3VudCA9IGZpbmFsX2Nv dW50ICsgMQogIGVuZCBzdWJyb3V0aW5lIGRlc3RydWN0b3IzCgogIHN1YnJvdXRpbmUgZGVzdHJ1 Y3RvcjQoc2VsZikKICAgIHR5cGUoY29tcGxpY2F0ZWQpLCBpbnRlbnQoaW5vdXQpIDo6IHNlbGYo OikKICAgIGNoZWNrX3JlYWwgPSAwLjAKICAgIGNoZWNrX3JhcnJheSgxOnNpemUoc2VsZiwgMSkp ID0gc2VsZiVyaW5kCiAgICBmaW5hbF9jb3VudCA9IGZpbmFsX2NvdW50ICsgMQogIGVuZCBzdWJy b3V0aW5lIGRlc3RydWN0b3I0CgogIGZ1bmN0aW9uIGNvbnN0cnVjdG9yMShpbmQpIHJlc3VsdChy ZXMpCiAgICB0eXBlKHNpbXBsZSksIGFsbG9jYXRhYmxlIDo6IHJlcwogICAgaW50ZWdlciwgaW50 ZW50KGluKSA6OiBpbmQKICAgIGFsbG9jYXRlIChyZXMsIHNvdXJjZSA9IHNpbXBsZSAoaW5kKSkK ICBlbmQgZnVuY3Rpb24gY29uc3RydWN0b3IxCgogIGZ1bmN0aW9uIGNvbnN0cnVjdG9yMihpbmQs IHJpbmQpIHJlc3VsdChyZXMpCiAgICBjbGFzcyhzaW1wbGUpLCBhbGxvY2F0YWJsZSA6OiByZXMo OikKICAgIGludGVnZXIsIGludGVudChpbikgOjogaW5kKDopCiAgICByZWFsLCBpbnRlbnQoaW4p LCBvcHRpb25hbCA6OiByaW5kKDopCiAgICB0eXBlKGNvbXBsaWNhdGVkKSwgYWxsb2NhdGFibGUg Ojogc3JjKDopCiAgICBpbnRlZ2VyIDo6IHN6CiAgICBpbnRlZ2VyIDo6IGkKICAgIGlmIChwcmVz ZW50IChyaW5kKSkgdGhlbgogICAgICBzeiA9IG1pbiAoc2l6ZSAoaW5kLCAxKSwgc2l6ZSAocmlu ZCwgMSkpCiAgICAgIHNyYyAgPSBbKGNvbXBsaWNhdGVkIChpbmQoaSksIHJpbmQoaSkpLCBpID0g MSwgc3opXQogICAgICBhbGxvY2F0ZSAocmVzLCBzb3VyY2UgPSBzcmMpCiAgICBlbHNlCiAgICAg IHN6ID0gc2l6ZSAoaW5kLCAxKQogICAgICBhbGxvY2F0ZSAocmVzLCBzb3VyY2UgPSBbKHNpbXBs ZSAoaW5kKGkpKSwgaSA9IDEsIHN6KV0pCiAgICBlbmQgaWYKICBlbmQgZnVuY3Rpb24gY29uc3Ry dWN0b3IyCgogIHN1YnJvdXRpbmUgdGVzdCAoY250LCBzY2FsYXIsIGFycmF5LCBvZmYsIHJpbmQs IHJhcnJheSkKICAgIGludGVnZXIgOjogY250CiAgICBpbnRlZ2VyIDo6IHNjYWxhcgogICAgaW50 ZWdlciA6OiBhcnJheSg6KQogICAgaW50ZWdlciA6OiBvZmYKICAgIHJlYWwsIG9wdGlvbmFsIDo6 IHJpbmQKICAgIHJlYWwsIG9wdGlvbmFsIDo6IHJhcnJheSg6KQogICAgaWYgKGZpbmFsX2NvdW50 IC5uZS4gY250KSAgcHJpbnQgKiwgMSArIG9mZiwgZmluYWxfY291bnQsIGNudAogICAgaWYgKGNo ZWNrX3NjYWxhciAubmUuIHNjYWxhcikgcHJpbnQgKiwgMiArIG9mZiwgY2hlY2tfc2NhbGFyLCBz Y2FsYXIKICAgIGlmIChhbnkgKGNoZWNrX2FycmF5KDE6c2l6ZSAoYXJyYXksIDEpKSAubmUuIGFy cmF5KSkgcHJpbnQgKiwgIDMgKyBvZmYsICYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY2hlY2tfYXJyYXkoMTpzaXplIChhcnJheSwgMSkpLCAifCIsIGFycmF5CiAgICBp ZiAocHJlc2VudCAocmluZCkpIHRoZW4KICAgICAgaWYgKGNoZWNrX3JlYWwgLm5lLiByaW5kKSAg cHJpbnQgKiwgIDQrb2ZmLCBjaGVja19yZWFsLCByaW5kCiAgICBlbmQgaWYKICAgIGlmIChwcmVz ZW50IChyYXJyYXkpKSB0aGVuCiAgICAgIGlmIChhbnkgKGNoZWNrX3JhcnJheSgxOnNpemUgKHJh cnJheSwgMSkpIC5uZS4gcmFycmF5KSkgcHJpbnQgKiwgIDUgKyBvZmYsICYKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tfcmFycmF5KDE6c2l6ZSAocmFycmF5LCAx KSksICJ8IiwgcmFycmF5CiAgICBlbmQgaWYKICBlbmQgc3Vicm91dGluZSB0ZXN0CgplbmQgbW9k dWxlIHRlc3Rtb2RlCgpwcm9ncmFtIHRlc3RfZmluYWwKICB1c2UgdGVzdG1vZGUKICBpbXBsaWNp dCBub25lCgogIHR5cGUoc2ltcGxlKSwgYWxsb2NhdGFibGUgOjogTXlUeXBlLCBNeVR5cGUyCiAg dHlwZShzaW1wbGUpLCBhbGxvY2F0YWJsZSA6OiBNeVR5cGVBcnJheSg6KQogIHR5cGUoc2ltcGxl KSA6OiBUaHlUeXBlID0gc2ltcGxlKDIxKSwgVGh5VHlwZTIgPSBzaW1wbGUoMjIpCiAgY2xhc3Mo c2ltcGxlKSwgYWxsb2NhdGFibGUgOjogTXlDbGFzcwogIGNsYXNzKHNpbXBsZSksIGFsbG9jYXRh YmxlIDo6IE15Q2xhc3NBcnJheSg6KQoKISAqKioqKioqKioqKioqKioqKioqKioqKioKISBEZXJp dmVkIHR5cGUgYXNzaWdubWVudHMKISAqKioqKioqKioqKioqKioqKioqKioqKioKCiEgVGhlIG9y aWdpbmFsIFBSIC0gb25lIGZpbmFsaXphdGlvbiBvZiAndmFyJyBiZWZvcmUgKHJlKWFsbG9jYXRp b24uCiAgTXlUeXBlID0gVGh5VHlwZQogIGNhbGwgdGVzdCgxLCAwLCBbMCwwXSwgMCkKCiAgaWYg KC5ub3QuIGFsbG9jYXRlZChNeVR5cGUpKSBhbGxvY2F0ZShNeVR5cGUpCiAgYWxsb2NhdGUoTXlU eXBlMikKICBNeVR5cGUlaW5kID0gMQogIE15VHlwZTIlaW5kID0gMgoKISBUaGlzIHNob3VsZCBy ZXN1bHQgaW4gYSBmaW5hbCBjYWxsIHdpdGggc2VsZiA9IHNpbXBsZSgxKS4KICBNeVR5cGUgPSBN eVR5cGUyCiAgY2FsbCB0ZXN0KDIsIDEsIFswLDBdLCAxMCkKCiAgYWxsb2NhdGUoTXlUeXBlQXJy YXkoMikpCiAgTXlUeXBlQXJyYXklaW5kID0gWzQyLCA0M10KISBUaGlzIHNob3VsZCByZXN1bHQg aW4gYSBmaW5hbCBjYWxsIHdpdGggc2VsZiA9IFtzaW1wbGUoNDIpLHNpbXBsZSg0MyldLgogIE15 VHlwZUFycmF5ID0gW1RoeVR5cGUsIFRoeVR5cGUyXQogIGNhbGwgdGVzdCgzLCAwLCBbNDIsNDNd LCAyMCkKCiEgVGhpcyBzaG91bGQgcmVzdWx0IGluIGEgZmluYWwgY2FsbCB3aXRoIHNlbGYgPSBp bml0aWFsaXphdGlvbiA9IHNpbXBsZSgyMikuCiAgVGh5VHlwZTIgPSBzaW1wbGUoOTkpCiAgY2Fs bCB0ZXN0KDQsIDIyLCBbMCwwXSwgMzApCgohIFRoaXMgc2hvdWxkIHJlc3VsdCBpbiBhIGZpbmFs IGNhbGwgd2l0aCBzZWxmID0gc2ltcGxlKDIyKS4KICBUaHlUeXBlID0gVGh5VHlwZTIKICBjYWxs IHRlc3QoNSwgMjEsIFswLDBdLCA0MCkKCiEgVGhpcyBzaG91bGQgcmVzdWx0IGluIHR3byBmaW5h bCBjYWxsczsgdGhlIGxhc3QgaXMgZm9yIHNlbGYyID0gc2ltcGxlKDIpLgogIGRlYWxsb2NhdGUg KE15VHlwZSwgTXlUeXBlMikKICBjYWxsIHRlc3QoNywgMiwgWzAsMF0sIDUwKQoKISBUaGlzIHNo b3VsZCByZXN1bHQgaW4gb25lIGZpbmFsIGNhbGw7IE15VHlwZUFycmF5ID0gW3NpbXBsZSgyMSks c2ltcGxlKDIyKV0uCiAgZGVhbGxvY2F0ZSAoTXlUeXBlQXJyYXkpCiAgY2FsbCB0ZXN0KDgsIDAs IFsyMSwyMl0sIDYwKQoKISBDaGVjayB0aGF0IHJocyBmdW5jdGlvbiBleHByZXNzaW9ucyBkbyBu b3QgaW50ZXJmZXJlIHdpdGggZmluYWxpemF0aW9uLgohIFRoZSBsaHMgaXMgZmluYWxpemVkIGJl Zm9yZSBhc3NpZ25tZW50LgohIFRoZSBmdW5jdGlvbiByZXN1bHQgaXMgZmluYWxpemVkIGFmdGVy IHRoZSBhc3NpZ25tZW50LgogIGFsbG9jYXRlIChNeVR5cGUsIHNvdXJjZSA9IHNpbXBsZSAoMTEp KQogIE15VHlwZSA9IGNvbnN0cnVjdG9yMSAoOTkpCiAgY2FsbCB0ZXN0KDEwLCA5OSwgWzAsMF0s IDcwKQoKICBkZWFsbG9jYXRlIChNeVR5cGUpCiEgKioqKioqKioqKioqKioqKioKISBDbGFzcyBh c3NpZ25tZW50cwohICoqKioqKioqKioqKioqKioqCgogIGZpbmFsX2NvdW50ID0gMAoKICBhbGxv Y2F0ZSAoTXlDbGFzcywgc291cmNlID0gc2ltcGxlICgzKSkKISBUaGlzIHNob3VsZCByZXN1bHQg aW4gYSBmaW5hbCBjYWxsIHdpdGggdGhlIGFsbG9jYXRlZCB2YWx1ZS4KICBNeUNsYXNzID0gc2lt cGxlICg0KQogIGNhbGwgdGVzdCgxLCAzLCBbMCwwXSwgMTAwKQoKISBUaGlzIHNob3VsZCByZXN1 bHQgaW4gYSBmaW5hbCBjYWxsIHdpdGggdGhlIGFzc2lnbmVkIHZhbHVlLgogIGRlYWxsb2NhdGUg KE15Q2xhc3MpCiAgY2FsbCB0ZXN0KDIsIDQsIFswLDBdLCAxMTApCgogIGFsbG9jYXRlIChNeUNs YXNzQXJyYXksIHNvdXJjZSA9IFtzaW1wbGUgKDUpLCBzaW1wbGUgKDYpXSkKISBNYWtlIHN1cmUg dGhhdCB0aGVyZSBpcyBubyBmaW5hbCBjYWxsLgogIGNhbGwgdGVzdCgyLCA0LCBbMCwwXSwgMTIw KQoKICBNeUNsYXNzQXJyYXkgPSBbc2ltcGxlICg3KSwgc2ltcGxlICg4KV0KISBUaGUgZmluYWwg Y2FsbCBzaG91bGQgcmV0dXJuIHRoZSB2YWx1ZSBiZWZvcmUgdGhlIGFzc2lnbm1lbnQuCiAgY2Fs bCB0ZXN0KDIsIDQsIFswLDBdLCAxMzApCgohIFRoaXMgc2hvdWxkIHJlc3VsdCBpbiBhIGZpbmFs IGNhbGwgd2l0aCB0aGUgYXNzaWduZWQgdmFsdWUuCiAgZGVhbGxvY2F0ZSAoTXlDbGFzc0FycmF5 KQogIGNhbGwgdGVzdCgzLCAwLCBbNyw4XSwgMTQwKQoKISBUaGlzIHNob3VsZCBwcm9kdWNlIG5v IGZpbmFsIGNhbGxzLgogIGFsbG9jYXRlIChNeUNsYXNzQXJyYXksIHNvdXJjZSA9IFtjb21wbGlj YXRlZCgxLCAyLjApLGNvbXBsaWNhdGVkKDMsIDQuMCldKQoKISBUaGlzIHNob3VsZCBwcm9kdWNl IGNhbGxzIHRvIGRlc3RydWN0b3I0IHRoZW4gZGVzdHJ1Y3RvcjIuCiAgZGVhbGxvY2F0ZSAoTXlD bGFzc0FycmF5KQoKISBGMjAxOCA3LjUuNi4zOiAiSWYgdGhlIGVudGl0eSBpcyBvZiBleHRlbmRl ZCB0eXBlIGFuZCB0aGUgcGFyZW50IHR5cGUgaXMKISBmaW5hbGl6YWJsZSwgdGhlIHBhcmVudCBj b21wb25lbnQgaXMgZmluYWxpemVkLgogIGNhbGwgdGVzdCg1LCAwLCBbMSwgM10sIDE1MCwgcmFy cmF5ID0gWzIuMCwgNC4wXSkKCiEgU2luY2UgJ2NvbnN0cnVjdG9yMjsgbXVzdCBmaW5hbGl6ZSAn c3JjJyBhZnRlciB0aGUgZmluYWxpemF0aW9uIG9mCiEgJ015Q2xhc3NBcnJheScsIHRoZSByZXN1 bHQgaW4gJ2NoZWNrX2FycmF5JyBzaG91bGQgYmUgWzEwLDIwXS4KICBNeUNsYXNzQXJyYXkgPSBj b25zdHJ1Y3RvcjIgKFsxMCwyMF0sIFsxMC4wLDIwLjBdKQogIGNhbGwgdGVzdCg5LCAwLCBbMTAs MjBdLCAxNjAsIHJhcnJheSA9IFsxMC4wLDIwLjBdKQoKICBkZWFsbG9jYXRlIChNeUNsYXNzQXJy YXkpCiAgY2FsbCB0ZXN0KDExLCAwLCBbMTAsIDIwXSwgMTcwLCByYXJyYXkgPSBbMTAuMCwyMC4w XSkKZW5kIHByb2dyYW0gdGVzdF9maW5hbAo= --0000000000005629ad05d77ff00c--