This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Bug fortran/36932] unneeded temporary (2x)
- From: Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>
- To: Tobias Burnus <burnus at net-b dot de>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Cc: VandeVondele Joost <vondele at pci dot uzh dot ch>, fortran at gcc dot gnu dot org, joost dot vandevondele at pci dot uzh dot ch
- Date: Sat, 20 Feb 2010 12:18:27 +0100
- Subject: Re: [Bug fortran/36932] unneeded temporary (2x)
- References: <bug-36932-6642@http.gcc.gnu.org/bugzilla/> <20100216092229.29534.qmail@sourceware.org> <339c37f21002162205gbf7aa88k6d190dfbeadf3088@mail.gmail.com> <Pine.A41.4.63.1002170724430.503984@idaix01.uzh.ch> <339c37f21002170323k80ffd13x220ab6fa4af0667a@mail.gmail.com> <339c37f21002172221k6888075cj3ff3cc769f634138@mail.gmail.com> <4B7F01BF.7030700@net-b.de>
I will commit the attached after bootstrapping and regtesting.
On Fri, Feb 19, 2010 at 10:25 PM, Tobias Burnus <burnus@net-b.de> wrote:
> Dear Paul,
>
> thanks for your work. Your patch is OK with a proper changelog and
> adding a testcase for PR43111.
See the attached and below.
>
> By the way, I encountered two cases where unnecessarily temporary is
> still created:
I'm on to it :-)
Thanks
Paul
2010-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/36932
PR fortran/36933
PR fortran/43072
PR fortran/43111
* dependency.c (gfc_check_argument_var_dependency): Use enum
value instead of arithmetic vaue for 'elemental'.
(check_data_pointer_types): New function.
(gfc_check_dependency): Call check_data_pointer_types.
* trans-array.h : Change fourth argument of
gfc_conv_array_parameter to boolean.
* trans-array.c (gfc_conv_array_parameter): A contiguous array
can be a dummy but it must not be assumed shape or deferred.
Change fourth argument to boolean. Array constructor exprs will
always be contiguous and do not need packing and unpacking.
* trans-expr.c (gfc_conv_procedure_call): Clean up some white
space and change fourth argument of gfc_conv_array_parameter
to boolean.
(gfc_trans_arrayfunc_assign): Change fourth argument of
gfc_conv_array_parameter to boolean.
* trans-io.c (gfc_convert_array_to_string): The same.
* trans-intrinsic.c (gfc_conv_intrinsic_loc): The same.
2010-02-20 Paul Thomas <pault@gcc.gnu.org>
PR fortran/36932
PR fortran/36933
* gfortran.dg/dependency_26.f90: New test.
PR fortran/43072
* gfortran.dg/internal_pack_7.f90: New test.
PR fortran/43111
* gfortran.dg/internal_pack_8.f90: New test.