From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id 594E93858C31; Thu, 23 Mar 2023 13:41:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 594E93858C31 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.98,285,1673942400"; d="diff'?scan'208";a="116025" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa3.mentor.iphmx.com with ESMTP; 23 Mar 2023 05:41:18 -0800 IronPort-SDR: iESkmJM3twAN2bHAn7hK+nAuR2WJ+P6qzAEZr+xkstJ2uS3XIWS2EIkmKxngEHavJ1UziHu22P NrPfJL5eXqqnOZ8DETtKhuEZwucjeDUr6V0FCtgWlK/0c8ip9012HUU1oWA2i5ZcXpA6zjbNq9 3AwkaXnCgvukYpxRmtkBp5cGDup8praD6fT2yCOD5PHTu/DIhZBfdryg5KJguTH7ULgMdfSOJa 8GgCNy89yOpYJCpMKp9aIFrkbmF0xzosoeN6vqe3rmqrZo5BZ5th0PwlaKiTLCIo4QRH0yfZYx 0Fg= Content-Type: multipart/mixed; boundary="------------ZG01eJ6npl9xx1vNlhPAYrHk" Message-ID: <8611cf64-f6c0-9821-eb83-246476288bb8@codesourcery.com> Date: Thu, 23 Mar 2023 14:41:15 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0 Content-Language: en-US To: gcc-patches , fortran From: Tobias Burnus Subject: [OG12][committed] Fortran: Add attr.class_ok check for generate_callback_wrapper 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.3 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.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --------------ZG01eJ6npl9xx1vNlhPAYrHk Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: quoted-printable On OG12, the OpenMP deep-mapping support added a callback procedure to the = vtable. That one did not handle error recovery well (ICE when a CLASS component as = not (class_)ok. The attached patch has been committed as https://gcc.gnu.org/g:9c18db65914a= 751e4a1d9330ccc1659fe5ef270d and applies only to OG12 (=3D git branch devel/omp/gcc-12) as mainline does= not have this code (yet). * * * The plan is to upstream the deep-mapping support, i.e. mapping of allocatab= le components. The current OG12 implementation handles both mapping the declared type and = the dynamic type, the latter requires the wrapper, generated by generate_callback_wrapper. I plan to upstream first the static part - and only then think about the wr= apper. I think the wrapper could be useful for coarrays as well - namely, for the user-def= ined reduction, but I have not fully thought about it. It would break the ABI as the vtable= gets another entry before the type-bound procedures, which is why I am a bit hesitant; i= t it gets merged, we it would be the opportunity to change some other things as well - like: = generating the CLASS functions/vtable only when used. (=E2=86=92 weak symbols to permit it= in multiple translation units; storing the fact that it has been generated in the module.) But that's offtopic. 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 --------------ZG01eJ6npl9xx1vNlhPAYrHk Content-Type: text/x-patch; charset="UTF-8"; name="committed.diff" Content-Disposition: attachment; filename="committed.diff" Content-Transfer-Encoding: base64 Y29tbWl0IDljMThkYjY1OTE0YTc1MWU0YTFkOTMzMGNjYzE2NTlmZTVlZjI3MGQKQXV0aG9y OiBUb2JpYXMgQnVybnVzIDx0b2JpYXNAY29kZXNvdXJjZXJ5LmNvbT4KRGF0ZTogICBUaHUg TWFyIDIzIDE0OjI5OjAwIDIwMjMgKzAxMDAKCiAgICBGb3J0cmFuOiBBZGQgYXR0ci5jbGFz c19vayBjaGVjayBmb3IgZ2VuZXJhdGVfY2FsbGJhY2tfd3JhcHBlcgogICAgCiAgICBQcm9w ZXIgdmFyaWFibGVzL2NvbXBvbmVudHMgb2YgdHlwZSBCVF9DTEFTUyBoYXZlICdjbGFzc19v aycgc2V0OyBjaGVjawogICAgZm9yIHRoYXQgdG8gYXZvaWQgYW4gSUNFIG9uIGludmFsaWQg Y29kZSBmb3IgZ2ZvcnRyYW4uZGcvcHIxMDg0MzQuZjkwLgogICAgCiAgICBnY2MvZm9ydHJh bi8KICAgICAgICAgICAgKiBjbGFzcy5jYyAoZ2VuZXJhdGVfY2FsbGJhY2tfd3JhcHBlcik6 IEFkZCBhdHRyLmNsYXNzX29rIGNoZWNrLgogICAgICAgICAgICAqIHJlc29sdmUuY2MgKHJl c29sdmVfZmxfZGVyaXZlZCk6IExpa2V3aXNlLgoKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFu L0NoYW5nZUxvZy5vbXAgYi9nY2MvZm9ydHJhbi9DaGFuZ2VMb2cub21wCmluZGV4IDY2MzEw MmQ5MzI5Li5mN2QxZjkxZjE3OCAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vQ2hhbmdlTG9n Lm9tcAorKysgYi9nY2MvZm9ydHJhbi9DaGFuZ2VMb2cub21wCkBAIC0xLDMgKzEsOCBAQAor MjAyMy0wMy0yMyAgVG9iaWFzIEJ1cm51cyAgPHRvYmlhc0Bjb2Rlc291cmNlcnkuY29tPgor CisJKiBjbGFzcy5jYyAoZ2VuZXJhdGVfY2FsbGJhY2tfd3JhcHBlcik6IEFkZCBhdHRyLmNs YXNzX29rIGNoZWNrLgorCSogcmVzb2x2ZS5jYyAocmVzb2x2ZV9mbF9kZXJpdmVkKTogTGlr ZXdpc2UuCisKIDIwMjMtMDMtMjMgIFRvYmlhcyBCdXJudXMgIDx0b2JpYXNAY29kZXNvdXJj ZXJ5LmNvbT4KIAogCSogdHJhbnMtb3Blbm1wLmNjIChnZmNfdHJhbnNfb21wX2NsYXVzZXMp OiBGaXggdW5tYXBwaW5nIG9mCmRpZmYgLS1naXQgYS9nY2MvZm9ydHJhbi9jbGFzcy5jYyBi L2djYy9mb3J0cmFuL2NsYXNzLmNjCmluZGV4IDM1ZGMzNWQyZWU2Li43YWI2OTIzNTIzZiAx MDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vY2xhc3MuY2MKKysrIGIvZ2NjL2ZvcnRyYW4vY2xh c3MuY2MKQEAgLTI1NTAsNiArMjU1MCw5IEBAIGdlbmVyYXRlX2NhbGxiYWNrX3dyYXBwZXIg KGdmY19zeW1ib2wgKnZ0YWIsIGdmY19zeW1ib2wgKmRlcml2ZWQsCiAJIGNiICh0b2tlbiwg Y29tcC0+dmFyKC5kYXRhKSwgc2l6ZSwgMCwgdmFyJ3MgY2IgZm4pOyAgKi8KICAgZm9yIChn ZmNfY29tcG9uZW50ICpjb21wID0gZGVyaXZlZC0+Y29tcG9uZW50czsgY29tcDsgY29tcCA9 IGNvbXAtPm5leHQpCiAgICAgeworICAgICAgaWYgKF9fYnVpbHRpbl9leHBlY3QgKGNvbXAt PnRzLnR5cGUgPT0gQlRfQ0xBU1MKKwkJCSAgICAmJiAhY29tcC0+YXR0ci5jbGFzc19vaywg MCkpCisJY29udGludWU7CiAgICAgICBib29sIHBvaW50ZXIgPSAoY29tcC0+dHMudHlwZSA9 PSBCVF9DTEFTUwogCQkgICAgICA/IENMQVNTX0RBVEEgKGNvbXApLT5hdHRyLnBvaW50ZXIg OiBjb21wLT5hdHRyLnBvaW50ZXIpOwogICAgICAgYm9vbCBwcm9jX3B0ciA9IGNvbXAtPmF0 dHIucHJvY19wb2ludGVyOwpAQCAtMjU5MCw3ICsyNTkzLDcgQEAgZ2VuZXJhdGVfY2FsbGJh Y2tfd3JhcHBlciAoZ2ZjX3N5bWJvbCAqdnRhYiwgZ2ZjX3N5bWJvbCAqZGVyaXZlZCwKIAkg IHNpemUtPndoZXJlID0gZ2ZjX2N1cnJlbnRfbG9jdXM7CiAJfQogCi0gICAgICBpZiAoIXBy b2NfcHRyICYmIGNvbXAtPnRzLnR5cGUgPT0gQlRfQ0xBU1MpCisgICAgICBpZiAoIXByb2Nf cHRyICYmIGNvbXAtPnRzLnR5cGUgPT0gQlRfQ0xBU1MgJiYgY29tcC0+YXR0ci5jbGFzc19v aykKIAl7CiAJICBnZmNfYWRkX2RhdGFfY29tcG9uZW50IChleHByKTsKIAkgIGlmIChjb21w LT5hdHRyLmRpbWVuc2lvbikKZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3Jlc29sdmUuY2Mg Yi9nY2MvZm9ydHJhbi9yZXNvbHZlLmNjCmluZGV4IGFhZWFmMzk2YjkxLi4xNWRiMTI1MjM2 NiAxMDA2NDQKLS0tIGEvZ2NjL2ZvcnRyYW4vcmVzb2x2ZS5jYworKysgYi9nY2MvZm9ydHJh bi9yZXNvbHZlLmNjCkBAIC0xNTE3Myw3ICsxNTE3Myw4IEBAIHJlc29sdmVfZmxfZGVyaXZl ZCAoZ2ZjX3N5bWJvbCAqc3ltKQogICBnZmNfY29tcG9uZW50ICpjID0gKHN5bS0+YXR0ci5p c19jbGFzcwogCQkgICAgICA/IENMQVNTX0RBVEEgKHN5bS0+Y29tcG9uZW50cykgOiBzeW0t PmNvbXBvbmVudHMpOwogICBmb3IgKCA7IGM7IGMgPSBjLT5uZXh0KQotICAgIGlmICgoYy0+ dHMudHlwZSA9PSBCVF9ERVJJVkVEIHx8IGMtPnRzLnR5cGUgPT0gQlRfQ0xBU1MpCisgICAg aWYgKChjLT50cy50eXBlID09IEJUX0RFUklWRUQKKwl8fCAoYy0+dHMudHlwZSA9PSBCVF9D TEFTUyAmJiBjLT5hdHRyLmNsYXNzX29rKSkKIAkmJiAhYy0+dHMudS5kZXJpdmVkLT5yZXNv bHZlX3N5bWJvbF9jYWxsZWQpCiAgICAgICB7CiAJaWYgKGMtPnRzLnUuZGVyaXZlZC0+Y29t cG9uZW50cyA9PSBOVUxMCg== --------------ZG01eJ6npl9xx1vNlhPAYrHk--