This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/43243] [4.5 Regression] Wrong-code due to missing array temp for DT with pointer component
- From: "burnus at net-b dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Mar 2010 16:59:30 -0000
- Subject: [Bug fortran/43243] [4.5 Regression] Wrong-code due to missing array temp for DT with pointer component
- References: <bug-43243-13404@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from burnus at net-b dot de 2010-03-03 16:59 -------
Subject: Re: [4.5 Regression] Missing array temp for DT
with pointer component
On 03/03/2010 04:53 PM, Paul Richard Thomas wrote:
> Yet another in the series :-) I hope that it is the last...
>
So do I - especially with regards to regressions. Regarding temporaries:
I was compiling some programs with the patched gfortran and the number
of created temporaries is quite low - and I think no low-lying fruits
are left. There are some cases of assignments for which middle-end array
support were helpful (hint, hint) and some other cases with MATMUL and
assignments which could be solved in the front end. (And two of the
programs here could gain some performance, if they would move to TR
15581; without the compiler has unnecessarily to assume aliasing. But as
both do not dare to drop support for F95-only compilers, yet, ...)
By the way, for RESHAPE gfortran generates temporaries what could be
avoided if RESHAPE wouldn't deallocate - that's another candidate to fix
after the new array descriptor gained a "bool allocated" component ...
cf. PR 32512.
> This bootstraps and regtests on RHEL5.2/x86_64 - OK for trunk?
>
OK. Thanks a lot for the patch!
Tobias
> 2010-03-03 Paul Thomas <pault@gcc.gnu.org>
>
> PR fortran/43243
> * trans-array.c (gfc_conv_array_parameter): Contiguous refs to
> allocatable ultimate components do not need temporaries, whilst
> ultimate pointer components do.
>
> 2010-03-03 Paul Thomas <pault@gcc.gnu.org>
>
> PR fortran/43243
> * gfortran.dg/internal_pack_12.f90: New test.
>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43243