From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.15.15]) by sourceware.org (Postfix) with ESMTPS id 5820A3858D1E; Thu, 13 Jul 2023 19:59:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5820A3858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1689278351; x=1689883151; i=anlauf@gmx.de; bh=nGQUNAk5BxmFZkZd4XDmBpKHG+LhxENOHf2e7EjVrlw=; h=X-UI-Sender-Class:Date:Subject:To:References:From:In-Reply-To; b=CbYs0XaqAuMf2PJ4PlpnXxlI1tLSeMx0jYgjOdlQ1WfwPxHxI6YTyz0R9f837V97sezPZg2 kryFQP98Ysp86+gCn+wfWkBibS9fWJ6G7UGTHUpcxtJibGGIYlu04k40JGNq1vqz6XTgViiwy gxW4yRvlknjAUyDsRlMSNGQUoaUD8Nu9fE85EDTdqTsVqqFiq4P0vN/CQgOmbzFY1JWLt+cmu PgOYyfF35crzXwujnL4i2AR312CbxjAkUlh0r7zpraUr0yJtRz3U2OwTPPgkvLNl69HHLnyhA zEbBI7w9pbLhakruIokh9y8BqK8+ApPULICNx5gvn/NIMDfVUz3g== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.178.29] ([79.251.3.242]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M6UZv-1qI6Wk2K7d-006zuu; Thu, 13 Jul 2023 21:59:11 +0200 Message-ID: Date: Thu, 13 Jul 2023 21:59:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH 0/3] Fix argument evaluation order [PR92178] To: Mikael Morin , fortran@gcc.gnu.org, gcc-patches@gcc.gnu.org Newsgroups: gmane.comp.gcc.patches,gmane.comp.gcc.fortran References: <20230711103253.1589353-1-mikael@gcc.gnu.org> Content-Language: en-US From: Harald Anlauf In-Reply-To: <20230711103253.1589353-1-mikael@gcc.gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:RqcGgzdbp/zXaEgASKFW3uTitz5zRy6q9dcnEgk4Kypx6JwOjEG DAjHCj3xmKPt9W59k09Y8TMqGYh9qp4FogSHSzzw9WT1aUY9seskuS7dTcCYLjAlMdMrfzr veqPgZ+lRHOqVZLYwc3ohOlqskOXsSZL3vwGQHxb0RD9AzyaiX5Eh3J0i3MV49VpcMugsIq irwiJ+lvXUR/vojr3W3ew== UI-OutboundReport: notjunk:1;M01:P0:ZlvSv7vOZgc=;qYh3hI3XTBqyZjwyo+wp1oO0d9/ 6p1LjczfIXuAKiVsRKWk0NDaDBvODFOI/PyTZuQMc0C368DD/D/lvY8c2o+VlmmWzmGyayYrC FGuBQFD9PZQPgDkXX37VS7fokisVUqskLMkcgqpw+skEiEpxxw8mISV1fnA9oaWjHukcQSdb2 74/4hfgZFJ/vQayRbz4O9/G/LVOe27qlg5kcPoAPFKOPYlTznFy/Sqzr9ISM5cer9ywZgVVz6 kf10mT5mnLUw9Kv0EO+kgDSHa0bVxL6z2ukJkoquQSGn1KRUftOb0EHPeJl0kfAR0vL/g13X9 5ATyebNSMmpKTt/E2eMGzg7jn2rfFYpawIZ2pSbW5UEtTq4ovvec3zM6pYubawxJTosRYxska xq9M/MXWmgxCPGt1FH/pCFgg18VjbpmcI5V2c3WcvKhc73xlRlfSeriqUo21ekxjynwwpv2yP BPJA2ky4UWAUd1gQvgFcK6Ny7UN3OqhM2bG6EzKNr2oeMFAXO8+2HHksk8ruCMYFe68Y9FzSB 6qUnzrhIYHzZHlwUItRTASP/XtWB0KEV8asNrikbmbaiKXSYCWdv9CdlFKrkSgNGBAM6w47vh wUsEnSwSoSVQj73uZtzC94U6ZXb0cz6njkDbPKWc8nwLteoyKpqxnpD+QxOaRv9NxSuaz5E/9 GiipxgusDn9eB4yZFAnYEaXwuWrODcLlJwEB7+yDzAmK8LBmmyiqiI9gXBLnBmKIGPgTD1gk6 SEIuRohX0DEpSUud+inRG12H+4KEGJIgUKFHtEh0C8rQlTgPtBgy5i9nzEhbd6WdtSH7gpicU P9SFT1lgMiZo3Nx/n9AeyFWlh9eaR70jW/agNSuUJVc8G0NyA44PGSl4WByDZAVOqnPrUJjE7 MKGEklpdOPxms2Y18XwQiT6loEtpqrigFrDQ15p3Z9IwOUPQGYQXxoSte1zwt5WxDRPhWggH8 6k5HsQ== X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: Hi Mikael, Am 11.07.23 um 12:32 schrieb Mikael Morin via Gcc-patches: > Hello, > > this is a followup to Harald's recent work [1] on the evaluation order > of arguments, when one of them is passed to an intent(out) allocatable > dummy and is deallocated before the call. > This extends Harald's fix to support: > - scalars passed to assumed rank dummies (patch 1), > - scalars passed to assumed rank dummies with the data reference > depending on its own content (patch 2), > - arrays with the data reference depending on its own content > (patch 3). > > There is one (last?) case which is not supported, for which I have opene= d > a separate PR [2]. > > Regression tested on x86_64-pc-linux-gnu. OK for master? this is an impressive improvement for the CLASS case. Maybe Paul wants to have another look at it, but it is OK from my side. Thanks for the patch! Harald > [1] https://gcc.gnu.org/pipermail/fortran/2023-July/059562.html > [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D110618 > > Mikael Morin (3): > fortran: defer class wrapper initialization after deallocation > [PR92178] > fortran: Factor data references for scalar class argument wrapping > [PR92178] > fortran: Reorder array argument evaluation parts [PR92178] > > gcc/fortran/trans-array.cc | 3 + > gcc/fortran/trans-expr.cc | 130 +++++++++++++++++--- > gcc/fortran/trans.cc | 28 +++++ > gcc/fortran/trans.h | 8 +- > gcc/testsuite/gfortran.dg/intent_out_19.f90 | 22 ++++ > gcc/testsuite/gfortran.dg/intent_out_20.f90 | 33 +++++ > gcc/testsuite/gfortran.dg/intent_out_21.f90 | 33 +++++ > 7 files changed, 236 insertions(+), 21 deletions(-) > create mode 100644 gcc/testsuite/gfortran.dg/intent_out_19.f90 > create mode 100644 gcc/testsuite/gfortran.dg/intent_out_20.f90 > create mode 100644 gcc/testsuite/gfortran.dg/intent_out_21.f90 >