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 270A03858430; Mon, 25 Apr 2022 13:47:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 270A03858430 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.90,288,1643702400"; d="diff'?scan'208";a="74929625" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 25 Apr 2022 05:47:25 -0800 IronPort-SDR: cI/cjIy3GCg0JZ68r0JdC0vOWQ1dK6wtsEjR57x859R2JNSAnTl44QVewv6xT9llB+Rwpc+5L1 LPGbGRnnlBYUM/Y4IYuMpnGKccdWZa9fKF0vSLxY1Y5cQjYlg7GvjZOycioAde1hFsw5+kAWG3 bE0N1/zp+s/j40pcBVXtuQeHK0zrxQObloJk2u9OdHSYIe21amKXkATiLrMlnF1RSPI85elhBe 9Wl6/HeXlj2cyoHoXaCN2t0bHu2MSXYbnd1z4mfcliCTZLGoTjefbrzzplDJe7mFMgDpg5tZNb qTY= Content-Type: multipart/mixed; boundary="------------aKs2leMi0O1ghj1FCqBG1lhF" Message-ID: Date: Mon, 25 Apr 2022 15:47:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: [OG11-committed][stage1-patch] Fortran: Fix finalization resolution with deep copy (was: [Patch][Stage 1] Fortran/OpenMP: Support mapping of DT with allocatable components) Content-Language: en-US From: Tobias Burnus To: gcc-patches , fortran , Jakub Jelinek References: In-Reply-To: X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-15.mgc.mentorg.com (139.181.222.15) 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, KAM_SHORT, SPF_HELO_PASS, SPF_PASS, TXREP 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: Mon, 25 Apr 2022 13:47:30 -0000 --------------aKs2leMi0O1ghj1FCqBG1lhF Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable Found another issue =E2=80=93 applied to OG11 as attached. Will include it = in the mainline patch once Stage1. (However, I intent to split the original patch (+ follow ups) into smaller pieces for mainline incorporation.) Tobias On 02.03.22 23:20, Tobias Burnus wrote: > Some testing found an issue in class.cc (in the new _callback > function) =E2=80=93 updated patch attached (long version + interdiff). > > Tobias > > (PS: OG11 - original patch was committed as > https://gcc.gnu.org/g:98961d3a0ccb02d7d54d2d4dd07cca75473d685a ; > follow-up version to be committed in a moment) > > On 01.03.22 16:34, Tobias Burnus wrote: >> Hi all, >> >> this patch adds support for mapping something like >> type t >> type(t2), allocatable :: a, b(:) >> integer, allocatable :: c, c(:) >> end type t >> type(t), allocatable :: var, var2(:,:) >> >> !$omp target enter data map(var, var) >> >> which does a deep walk of the components at runtime. >> >> On the ME side, the static addr/size/kinds arrays are >> replaced (only if need) by allocatable arrays =E2=80=93 which >> are then filled by trans-openmp.c. >> >> All deep-mapping handling happens via the hooks called >> late in omp-low.c such that removing mappings or implicitly >> added one are handled. >> >> In principle, there is also code to handle polymorphic >> variables (new callback function in vtable + two on-the-fly >> generated functions to be used for walking the vtable). >> >> Issues: None known, but I am sure with experimenting, >> more can be found - especially with arrays/array sections >> and polymorphism, I expect issues. I did find some on the >> way and fixed them - but (see PR refs in testcase -7.f90), >> I also found unrelated bugs, which I did not fix ;-) >> >> Comments? OK for mainline (GCC 13)? >> >> Tobias >> >> PS: I will commit this patch to OG11 for further testing. >> PPS: Previously discussed at >> https://gcc.gnu.org/pipermail/gcc-patches/2021-December/586237.html ----------------- 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 --------------aKs2leMi0O1ghj1FCqBG1lhF Content-Type: text/x-patch; charset="UTF-8"; name="committed.diff" Content-Disposition: attachment; filename="committed.diff" Content-Transfer-Encoding: base64 Y29tbWl0IGM2ZGFmMjA5MGQ0OGJjNzk0YzY4MDlhNWQ5OGU4ZDlhNTgzMzQ2YmQKQXV0aG9y OiBUb2JpYXMgQnVybnVzIDx0b2JpYXNAY29kZXNvdXJjZXJ5LmNvbT4KRGF0ZTogICBNb24g QXByIDI1IDE1OjEyOjAxIDIwMjIgKzAyMDAKCiAgICBGb3J0cmFuOiBGaXggZmluYWxpemF0 aW9uIHJlc29sdXRpb24gd2l0aCBkZWVwIGNvcHkKICAgIAogICAgRm9sbG93LXVwIHBhdGNo IHRvCiAgICAiRm9ydHJhbi9PcGVuTVA6IFN1cHBvcnQgbWFwcGluZyBvZiBEVCB3aXRoIGFs bG9jYXRhYmxlIGNvbXBvbmVudHMiCiAgICBodHRwczovL2djYy5nbnUub3JnL3BpcGVybWFp bC9nY2MtcGF0Y2hlcy8yMDIyLU1hcmNoLzU5MTE0NC5odG1sCiAgICAKICAgIGdjYy9mb3J0 cmFuL0NoYW5nZUxvZzoKICAgIAogICAgICAgICAgICAqIHJlc29sdmUuYyAoZ2ZjX3Jlc29s dmVfZmluYWxpemVycyk6IEFsc28gcmVzb2x2ZSBhbGxvY2F0YWJsZSBjb21wcy4KICAgIAog ICAgZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CiAgICAKICAgICAgICAgICAgKiBnZm9ydHJh bi5kZy9maW5hbGl6ZV8zOC5mOTA6IE5ldyB0ZXN0LgotLS0KIGdjYy9mb3J0cmFuL3Jlc29s dmUuYyAgICAgICAgICAgICAgICAgICAgIHwgIDExICsrLQogZ2NjL3Rlc3RzdWl0ZS9nZm9y dHJhbi5kZy9maW5hbGl6ZV8zOC5mOTAgfCAxMzUgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE0MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3Jlc29sdmUuYyBiL2djYy9mb3J0cmFu L3Jlc29sdmUuYwppbmRleCA1OWZhYTRjMTE5ZC4uMTBjODlkZTBlYWEgMTAwNjQ0Ci0tLSBh L2djYy9mb3J0cmFuL3Jlc29sdmUuYworKysgYi9nY2MvZm9ydHJhbi9yZXNvbHZlLmMKQEAg LTEzNTc4LDExICsxMzU3OCwxNiBAQCBnZmNfcmVzb2x2ZV9maW5hbGl6ZXJzIChnZmNfc3lt Ym9sKiBkZXJpdmVkLCBib29sICpmaW5hbGl6YWJsZSkKICAgaWYgKHBhcmVudCkKICAgICBn ZmNfcmVzb2x2ZV9maW5hbGl6ZXJzIChwYXJlbnQsIGZpbmFsaXphYmxlKTsKIAotICAvKiBF bnN1cmUgdGhhdCBkZXJpdmVkLXR5cGUgY29tcG9uZW50cyBoYXZlIGEgdGhlaXIgZmluYWxp emVycyByZXNvbHZlZC4gICovCisgIC8qIEVuc3VyZSB0aGF0IGRlcml2ZWQtdHlwZSBjb21w b25lbnRzIGhhdmUgYSB0aGVpciBmaW5hbGl6ZXJzIHJlc29sdmVkOworICAgICBoYW5kbGUg YWxsb2NhdGFibGVzIGJ1dCBhdm9pZCBpc3N1ZXMgd2l0aCAoaW4pZGlyZWN0IGFsbG9jYXRh YmxlIHR5cGVzLiAqLwogICBib29sIGhhc19maW5hbCA9IGRlcml2ZWQtPmYya19kZXJpdmVk ICYmIGRlcml2ZWQtPmYya19kZXJpdmVkLT5maW5hbGl6ZXJzOwogICBmb3IgKGMgPSBkZXJp dmVkLT5jb21wb25lbnRzOyBjOyBjID0gYy0+bmV4dCkKLSAgICBpZiAoYy0+dHMudHlwZSA9 PSBCVF9ERVJJVkVECi0JJiYgIWMtPmF0dHIucG9pbnRlciAmJiAhYy0+YXR0ci5wcm9jX3Bv aW50ZXIgJiYgIWMtPmF0dHIuYWxsb2NhdGFibGUpCisgICAgaWYgKGMtPnRzLnR5cGUgPT0g QlRfREVSSVZFRCAmJiAhYy0+YXR0ci5wb2ludGVyICYmICFjLT5hdHRyLnByb2NfcG9pbnRl cgorCSYmICghYy0+YXR0ci5hbGxvY2F0YWJsZQorCSAgICB8fCAoYy0+dHMudS5kZXJpdmVk ICE9IGRlcml2ZWQKKwkJJiYgYy0+dHMudS5kZXJpdmVkLT5mMmtfZGVyaXZlZAorCQkmJiBj LT50cy51LmRlcml2ZWQtPmYya19kZXJpdmVkLT5maW5hbGl6ZXJzCisJCSYmICFjLT50cy51 LmRlcml2ZWQtPmYya19kZXJpdmVkLT5maW5hbGl6ZXJzLT5wcm9jX3RyZWUpKSkKICAgICAg IHsKIAlib29sIGhhc19maW5hbDIgPSBmYWxzZTsKIAlpZiAoIWdmY19yZXNvbHZlX2ZpbmFs aXplcnMgKGMtPnRzLnUuZGVyaXZlZCwgJmhhc19maW5hbDIpKQpkaWZmIC0tZ2l0IGEvZ2Nj L3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9maW5hbGl6ZV8zOC5mOTAgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2ZpbmFsaXplXzM4LmY5MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uNDQyZTE3NTMzMTEKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2ZpbmFsaXplXzM4LmY5MApAQCAtMCwwICsxLDEzNSBAQAor ISB7IGRnLWRvIGNvbXBpbGUgfQorIQorISBDaGVjayBmaW5hbGl6YXRpb24KKyEKK21vZHVs ZSBSZWFsXzJEX19Gb3JtCisKKyAgaW1wbGljaXQgbm9uZQorICBwcml2YXRlCisgIAorICBp bnRlZ2VyLCBwYXJhbWV0ZXIgOjogJgorICAgIEtEUiA9IGtpbmQgKCAxLjBkMCApLCAmCisg ICAgS0RJID0ga2luZCAoIDEgKSwgJgorICAgIEtETCA9IGtpbmQgKCAudHJ1ZS4gKQorCisg IHR5cGUsIHB1YmxpYyA6OiBSZWFsXzJEX0Zvcm0KKyAgICByZWFsICggS0RSICksIGRpbWVu c2lvbiAoIDosIDogKSwgYWxsb2NhdGFibGUgOjogJgorICAgICAgVmFsdWUKKyAgY29udGFp bnMKKyAgICBwcm9jZWR1cmUsIHByaXZhdGUsIHBhc3MgOjogJgorICAgICAgSW5pdGlhbGl6 ZV9SXzJECisgICAgcHJvY2VkdXJlLCBwcml2YXRlLCBwYXNzIDo6ICYKKyAgICAgIEluaXRp YWxpemVfUl8yRF9Gcm9tVmFsdWUKKyAgICBwcm9jZWR1cmUsIHByaXZhdGUsIHBhc3MgOjog JgorICAgICAgSW5pdGlhbGl6ZV9SXzJEX0NvcHkKKyAgICBnZW5lcmljIDo6ICYKKyAgICAg IEluaXRpYWxpemUgJgorICAgICAgICA9PiBJbml0aWFsaXplX1JfMkQsIEluaXRpYWxpemVf Ul8yRF9Gcm9tVmFsdWUsIEluaXRpYWxpemVfUl8yRF9Db3B5CisgICAgZmluYWwgOjogJgor ICAgICAgRmluYWxpemVfUl8yRAorICBlbmQgdHlwZSBSZWFsXzJEX0Zvcm0KKyAgCisgIHR5 cGUsIHB1YmxpYyA6OiBSZWFsXzJEXzJEX0Zvcm0KKyAgICB0eXBlICggUmVhbF8yRF9Gb3Jt ICksIGRpbWVuc2lvbiAoIDosIDogKSwgYWxsb2NhdGFibGUgOjogJgorICAgICAgVmFsdWUK KyAgY29udGFpbnMKKyAgICBmaW5hbCA6OiAmCisgICAgICBGaW5hbGl6ZV9SXzJEXzJECisg IGVuZCB0eXBlIFJlYWxfMkRfMkRfRm9ybQorCitjb250YWlucworCisgIHN1YnJvdXRpbmUg SW5pdGlhbGl6ZV9SXzJEICggQSwgblZhbHVlcywgQ2xlYXJPcHRpb24sIGlhTG93ZXJCb3Vu ZE9wdGlvbiApCisgICAgY2xhc3MgKCBSZWFsXzJEX0Zvcm0gKSwgaW50ZW50ICggaW5vdXQg KSA6OiAmCisgICAgICBBCisgICAgaW50ZWdlciAoIEtESSApLCBkaW1lbnNpb24gKCAyICks IGludGVudCAoIGluICkgOjogJgorICAgICAgblZhbHVlcworICAgIGxvZ2ljYWwgKCBLREwg KSwgaW50ZW50ICggaW4gKSwgb3B0aW9uYWwgOjogJgorICAgICAgQ2xlYXJPcHRpb24KKyAg ICBpbnRlZ2VyICggS0RJICksIGRpbWVuc2lvbiAoIDIgKSwgaW50ZW50ICggaW4gKSwgb3B0 aW9uYWwgOjogJgorICAgICAgaWFMb3dlckJvdW5kT3B0aW9uCisKKyAgICBpbnRlZ2VyICgg S0RJICksIGRpbWVuc2lvbiAoIDIgKSA6OiAmCisgICAgICBpYUxCCisgICAgbG9naWNhbCAo IEtETCApIDo6ICYKKyAgICAgIENsZWFyUmVxdWVzdGVkCisKKyAgICBpZiAoIGFueSAoIG5W YWx1ZXMgPCAwICkgKSByZXR1cm4KKyAgICAKKyAgICBpZiAoIGFsbCAoIG5WYWx1ZXMgPT0g MCApICkgdGhlbgorICAgICAgYWxsb2NhdGUgKCBBICUgVmFsdWUgKCAwLCAwICkgKQorICAg ICAgcmV0dXJuCisgICAgZW5kIGlmIAorICAgIAorICAgIENsZWFyUmVxdWVzdGVkID0gLmZh bHNlLgorICAgIGlmICggcHJlc2VudCAoIENsZWFyT3B0aW9uICkgKSBDbGVhclJlcXVlc3Rl ZCA9IENsZWFyT3B0aW9uCisKKyAgICBpYUxCID0gMQorICAgIGlmICggcHJlc2VudCAoIGlh TG93ZXJCb3VuZE9wdGlvbiApICkgaWFMQiA9IGlhTG93ZXJCb3VuZE9wdGlvbgorICAgIAor ICAgIGFsbG9jYXRlICYKKyAgICAgICggQSAlIFZhbHVlICYKKyAgICAgICAgICAoIGlhTEIg KCAxICkgOiBpYUxCICggMSApICsgblZhbHVlcyAoIDEgKSAtIDEsICYKKyAgICAgICAgICAg IGlhTEIgKCAyICkgOiBpYUxCICggMiApICsgblZhbHVlcyAoIDIgKSAtIDEgKSApCisgICAg CisgICAgIWlmICggQ2xlYXJSZXF1ZXN0ZWQgKSBjYWxsIENsZWFyICggQSAlIFZhbHVlICkK KworICBlbmQgc3Vicm91dGluZSBJbml0aWFsaXplX1JfMkQKKyAgCisgIAorICBzdWJyb3V0 aW5lIEluaXRpYWxpemVfUl8yRF9Gcm9tVmFsdWUgKCBBLCBWYWx1ZSwgaWFMb3dlckJvdW5k T3B0aW9uICkKKyAgICAKKyAgICBjbGFzcyAoIFJlYWxfMkRfRm9ybSApLCBpbnRlbnQgKCBp bm91dCApIDo6ICYKKyAgICAgIEEKKyAgICByZWFsICggS0RSICksIGRpbWVuc2lvbiAoIDos IDogKSwgaW50ZW50ICggaW4gKSA6OiAmCisgICAgICBWYWx1ZQorICAgIGludGVnZXIgKCBL REkgKSwgZGltZW5zaW9uICggMiApLCBpbnRlbnQgKCBpbiApLCBvcHRpb25hbCA6OiAmCisg ICAgICBpYUxvd2VyQm91bmRPcHRpb24KKworICAgIGNhbGwgQSAlIEluaXRpYWxpemVfUl8y RCAmCisgICAgICAgICAgICggc2hhcGUgKCBWYWx1ZSApLCBpYUxvd2VyQm91bmRPcHRpb24g PSBpYUxvd2VyQm91bmRPcHRpb24gKQorICAgIEEgJSBWYWx1ZSA9IFZhbHVlIAorCisgIGVu ZCBzdWJyb3V0aW5lIEluaXRpYWxpemVfUl8yRF9Gcm9tVmFsdWUKKyAgCisgIAorICBzdWJy b3V0aW5lIEluaXRpYWxpemVfUl8yRF9Db3B5ICggQSwgQiwgaWFMb3dlckJvdW5kT3B0aW9u ICkKKyAgICAKKyAgICBjbGFzcyAoIFJlYWxfMkRfRm9ybSApLCBpbnRlbnQgKCBpbm91dCAp IDo6ICYKKyAgICAgIEEKKyAgICB0eXBlICggIFJlYWxfMkRfRm9ybSApLCBpbnRlbnQgKCBp biApIDo6ICYKKyAgICAgIEIKKyAgICBpbnRlZ2VyICggS0RJICksIGludGVudCAoIGluICks IG9wdGlvbmFsIDo6ICYKKyAgICAgIGlhTG93ZXJCb3VuZE9wdGlvbgorICAgICAgCisgICAg aW50ZWdlciAoIEtESSApLCBkaW1lbnNpb24gKCAyICkgOjogJgorICAgICAgaWFMQgorICAg IAorICAgIGlhTEIgPSBsYm91bmQgKCBCICUgVmFsdWUgKSAKKyAgICBpZiAoIHByZXNlbnQg KCBpYUxvd2VyQm91bmRPcHRpb24gKSApIGlhTEIgPSBpYUxvd2VyQm91bmRPcHRpb24KKwor ICAgIGNhbGwgQSAlIEluaXRpYWxpemVfUl8yRF9Gcm9tVmFsdWUgKCBCICUgVmFsdWUsIGlh TG93ZXJCb3VuZE9wdGlvbiA9IGlhTEIgKQorICAKKyAgZW5kIHN1YnJvdXRpbmUgSW5pdGlh bGl6ZV9SXzJEX0NvcHkgCisgIAorIAorICBlbGVtZW50YWwgc3Vicm91dGluZSBGaW5hbGl6 ZV9SXzJEICggQSApCisKKyAgICB0eXBlICggUmVhbF8yRF9Gb3JtICksIGludGVudCAoIGlu b3V0ICkgOjogJgorICAgICAgQQorCisgICAgaWYgKCBhbGxvY2F0ZWQgKCBBICUgVmFsdWUg KSApIGRlYWxsb2NhdGUgKCBBICUgVmFsdWUgKQorCisgIGVuZCBzdWJyb3V0aW5lIEZpbmFs aXplX1JfMkQKKyAgCisgIAorICBlbGVtZW50YWwgc3Vicm91dGluZSBGaW5hbGl6ZV9SXzJE XzJEICggQSApCisKKyAgICB0eXBlICggUmVhbF8yRF8yRF9Gb3JtICksIGludGVudCAoIGlu b3V0ICkgOjogJgorICAgICAgQQorCisgICAgaWYgKCBhbGxvY2F0ZWQgKCBBICUgVmFsdWUg KSApIGRlYWxsb2NhdGUgKCBBICUgVmFsdWUgKQorCisgIGVuZCBzdWJyb3V0aW5lIEZpbmFs aXplX1JfMkRfMkQKKworZW5kIG1vZHVsZSBSZWFsXzJEX19Gb3JtCg== --------------aKs2leMi0O1ghj1FCqBG1lhF--