From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ciao.gmane.io (ciao.gmane.io [116.202.254.214]) by sourceware.org (Postfix) with ESMTPS id A04933858D32 for ; Fri, 7 Apr 2023 09:40:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A04933858D32 Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=gmx.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=m.gmane-mx.org Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1pkia6-0008jW-3o for gcc-patches@gcc.gnu.org; Fri, 07 Apr 2023 11:40:30 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: gcc-patches@gcc.gnu.org From: Harald Anlauf Subject: Re: [Patch, fortran] PR87477 - [meta-bug] [F03] issues concerning the ASSOCIATE statement Date: Fri, 7 Apr 2023 11:40:22 +0200 Message-ID: <06e9fe56-4314-3392-389c-57ffd74844ab@gmx.de> References: <0a9997a2-819e-40bc-4623-a4dbd3507a32@gmx.ch> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Content-Language: en-US In-Reply-To: Cc: fortran@gcc.gnu.org X-Spam-Status: No, score=-4.0 required=5.0 tests=BAYES_00,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,NICE_REPLY_A,SPF_HELO_NONE,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: Message-ID: <20230407094022.MlV_-4_6gMKKpDcfZiLDsPvNReTopH7tPM1QpDQ0roE@z> Hi Paul, On 4/7/23 09:02, Paul Richard Thomas via Gcc-patches wrote: > Hi All, > > Please find attached the patch to fix the dg directives and remove a lot of > trailing white space. > > Unless there are any objections, I will commit as obvious over the weekend. this is OK. Thanks for the patch! Harald > Cheers > > Paul > > Fortran: Fix dg directives and remove trailing whitespaces in testsuite > > 2023-04-07 Paul Thomas > > * gfortran.dg/c-interop/allocatable-optional-pointer.f90 : Fix > dg directive and remove trailing whitespace. > * gfortran.dg/c-interop/c407a-1.f90 : ditto > * gfortran.dg/c-interop/c407b-1.f90 : ditto > * gfortran.dg/c-interop/c407b-2.f90 : ditto > * gfortran.dg/c-interop/c407c-1.f90 : ditto > * gfortran.dg/c-interop/c535a-1.f90 : ditto > * gfortran.dg/c-interop/c535a-2.f90 : ditto > * gfortran.dg/c-interop/c535b-1.f90 : ditto > * gfortran.dg/c-interop/c535b-2.f90 : ditto > * gfortran.dg/c-interop/c535b-3.f90 : ditto > * gfortran.dg/c-interop/c535c-1.f90 : ditto > * gfortran.dg/c-interop/c535c-2.f90 : ditto > * gfortran.dg/c-interop/deferred-character-1.f90 : ditto > * gfortran.dg/c-interop/removed-restrictions-1.f90 : ditto > * gfortran.dg/c-interop/removed-restrictions-2.f90 : ditto > * gfortran.dg/c-interop/removed-restrictions-4.f90 : ditto > * gfortran.dg/c-interop/tkr.f90 : ditto > * gfortran.dg/class_result_10.f90 : ditto > * gfortran.dg/dtio_35.f90 : ditto > * gfortran.dg/goacc/array-with-dt-2.f90 : ditto > * gfortran.dg/gomp/affinity-clause-1.f90 : ditto > * gfortran.dg/pr103258.f90 : ditto > * gfortran.dg/pr59107.f90 : ditto > * gfortran.dg/pr93835.f08 : ditto > > > > On Wed, 29 Mar 2023 at 09:53, Paul Richard Thomas < > paul.richard.thomas@gmail.com> wrote: > >> Hi Manfred, >> >> Indeed I do :-) Thanks for the spot. I have decided that it will be less >> messy if I roll all the testcases into one or, perhaps two => >> associate_xx.f90 >> >> Forgetting the space before the final brace seems to be rife! >> >> Cheers >> >> Paul >> >> >> On Wed, 29 Mar 2023 at 09:24, Manfred Schwarb wrote: >> >>> Am 28.03.23 um 23:04 schrieb Paul Richard Thomas via Fortran: >>>> Hi All, >>>> >>>> I have made a start on ASSOCIATE issues. Some of the low(-ish) hanging >>>> fruit are already fixed but I have yet to check that they a really fixed >>>> and to close them: >>>> pr102106, pr102111, pr104430, pr106048, pr85510, pr87460, pr92960 & >>> pr93338 >>>> >>>> The attached patch picks up those PRs involving deferred length >>> characters >>>> in one guise or another. I believe that it is all pretty >>> straightforward. >>>> Structure constructors with allocatable, deferred length, character >>> array >>>> components just weren't implemented and so this is the biggest part of >>> the >>>> patch. I found two other, non-associate PRs(106918 & 105205) that are >>>> fixed and there are probably more. >>>> >>>> The chunk in trans-io.cc is something of a kludge, which I will come >>> back >>>> to. Some descriptors come through with a data pointer that looks as if >>> it >>>> should be OK but >>>> >>>> I thought to submit this now to get it out of the way. The ratio of PRs >>>> fixed to the size of the patch warrants this. The next stage is going >>> to be >>>> rather messy and so "I might take a little while" (cross talk between >>>> associate and select type, in particular). >>>> >>>> Regtests OK - good for mainline? >>>> >>> >>> Paul, you have some "dg-do-run" and "dg-do-compile" statements in your >>> testcases, >>> could you change them into their single-minus-sign variants? >>> >>> Cheers, >>> Manfred >>> >>> >>> BTW: I just ran my script again and found the following testsuite issues >>> (note that outer-most >>> braces need to be space-padded): >>> >>> ./c-interop/removed-restrictions-1.f90:! { dg-do compile} >>> ./c-interop/removed-restrictions-2.f90:! { dg-do compile} >>> ./c-interop/removed-restrictions-3.f90:! { dg-do compile} >>> ./c-interop/removed-restrictions-4.f90:! { dg-do compile} >>> ./c-interop/tkr.f90:! { dg-do compile} >>> ./c-interop/c407c-1.f90:! { dg-do compile} >>> ./c-interop/deferred-character-1.f90:! { dg-do compile} >>> ./c-interop/allocatable-optional-pointer.f90:! { dg-do compile} >>> ./c-interop/c407a-1.f90:! { dg-do compile} >>> ./c-interop/c407b-1.f90:! { dg-do compile} >>> ./c-interop/c407b-2.f90:! { dg-do compile} >>> ./c-interop/c535a-1.f90:! { dg-do compile} >>> ./c-interop/c535a-2.f90:! { dg-do compile} >>> ./c-interop/c535b-1.f90:! { dg-do compile} >>> ./c-interop/c535b-2.f90:! { dg-do compile} >>> ./c-interop/c535b-3.f90:! { dg-do compile} >>> ./c-interop/c535c-1.f90:! { dg-do compile} >>> ./c-interop/c535c-2.f90:! { dg-do compile} >>> ./gomp/affinity-clause-1.f90:! { dg final { scan-tree-dump-times "#pragma >>> omp task affinity\\(iterator\\(integer\\(kind=4\\) >>> i=D\\.\[0-9\]+:5:1\\):b\\\[\\(.* ? \\+ -1\\\]\\) >>> affinity\\(iterator\\(integer\\(kind=4\\) >>> i=D\\.\[0-9\]+:5:1\\):d\\\[\\(\\(integer\\(kind=8\\)\\) i \\+ -1\\) \\* >>> 6\\\]\\)" 1 "original" } } >>> ./class_result_10.f90:! { dg-do run} >>> ./pr103258.f90:! { dg-do compile} >>> ./dtio_35.f90:! { dg-compile } >>> ./pr93835.f08:! {dg-do run } >>> ./pr59107.f90:! { dg-compile } >>> >>> >>> >>>> Cheers >>>> >>>> Paul >>>> >>>> Fortran: Fix some of the bugs in associate [PR87477] >>>> >>>> 2023-03-28 Paul Thomas >>>> >>>> gcc/fortran >>>> PR fortran/87477 >>>> * trans-array.cc (gfc_conv_expr_descriptor): Guard string len >>>> expression in condition. >>>> (duplicate_allocatable): Make element type more explicit with >>>> 'eltype'. >>>> * trans-expr.cc (gfc_get_expr_charlen): Retain last charlen in >>>> 'previous' and use if end expression in substring reference is >>>> null. >>>> (gfc_conv_string_length): Use gfc_conv_expr_descriptor if >>>> 'expr_flat' is an array. >>>> (gfc_trans_alloc_subarray_assign): If this is a deferred string >>>> length component, store the string length in the hidden comp. >>>> Update the typespec length accordingly. Generate a new type >>>> spec for the call to gfc_duplicate-allocatable in this case. >>>> * trans-io.cc (gfc_trans_transfer): Scalarize transfer of >>>> deferred character array components. >>>> >>>> >>>> gcc/testsuite/ >>>> PR fortran/92994 >>>> * gfortran.dg/finalize_51.f90 : Update an error message. >>>> >>>> PR fortran/85686 >>>> * gfortran.dg/pr85686.f90 : New test >>>> >>>> PR fortran/88247 >>>> * gfortran.dg/pr88247.f90 : New test >>>> >>>> PR fortran/91941 >>>> * gfortran.dg/pr91941.f90 : New test >>>> >>>> PR fortran/92779 >>>> * gfortran.dg/pr92779.f90 : New test >>>> >>>> PR fortran/93339 >>>> * gfortran.dg/pr93339.f90 : New test >>>> >>>> PR fortran/93813 >>>> * gfortran.dg/pr93813.f90 : New test >>>> >>>> PR fortran/100948 >>>> * gfortran.dg/pr100948.f90 : New test >>>> >>>> PR fortran/102106 >>>> * gfortran.dg/pr102106.f90 : New test >>>> >>>> PR fortran/105205 >>>> * gfortran.dg/pr105205.f90 : New test >>>> >>>> PR fortran/106918 >>>> * gfortran.dg/pr106918.f90 : New test >>> >>> >> >> -- >> "If you can't explain it simply, you don't understand it well enough" - >> Albert Einstein >> > >