gcc-patches@gcc.gnu.org
[Top] [All Lists]

Re: [Patch, fortran] PR40646 - ICE assigning array return value from t

Subject: Re: [Patch, fortran] PR40646 - ICE assigning array return value from type-bound procedure
From: Richard Guenther
Date: Wed, 15 Jul 2009 17:43:26 +0200
On Mon, Jul 13, 2009 at 2:12 PM, Tobias Burnus<burnus@xxxxxxxx> wrote:
> Janus Weil wrote:
>>> Ok, here is a rather complete patch, which (mostly) fixes the PPC part
>>> of the PR. Note that it fixes the attached versions of comment #2 and
>>> #4, but still has problems with certain variations of them.
>>>
>>
>> Attached is a follow-up patch, which fixes the remaining issues (see
>> comment #8 in the PR).
>>
>> Regression-tested on x86_64-unknown-linux-gnu. Ok for trunk?
>>
>
> OK. Thanks for the patch.

This patch has broken build of SPEC 2006 481.wrf:

/gcc/spec/sb-barbella.suse.de-head-64-2006/x86_64/install-hack/bin/gfortran
-c -o module_ra_sw.fppized.o -I. -I./netcdf/include   -O3
-funroll-loops -fpeel-loops -ffast-math -march=native
-DSPEC_CPU_LP64         module_ra_sw.fppized.f90
module_ra_sw.fppized.f90:414.23:

END MODULE module_ra_sw
                       1
Internal Error at (1):
gfc_array_dimen_size(): Bad EXPR_ARRAY expr
specmake: *** [module_ra_sw.fppized.o] Error 1

Maybe HJ can come up with a short testcase, if not I'll do it tomorrow
and file a bugreport.

Richard.

> Tobias
>
>> 2009-07-13  Janus Weil  <janus@xxxxxxxxxxx>
>>
>>       PR fortran/40646
>>       * module.c (mio_symbol): If the symbol has formal arguments,
>>       the formal namespace will be present.
>>       * resolve.c (resolve_actual_arglist): Correctly handle 'called'
>>       procedure pointer components as actual arguments.
>>       (resolve_fl_derived,resolve_symbol): Make sure the formal namespace
>>       is present.
>>       * trans-expr.c (gfc_conv_procedure_call): Correctly handle the formal
>>       arguments of procedure pointer components.
>>
>>
>> 2009-07-13  Janus Weil  <janus@xxxxxxxxxxx>
>>
>>       PR fortran/40646
>>       * gfortran.dg/proc_ptr_22.f90: Extended.
>>       * gfortran.dg/proc_ptr_comp_12.f90: Extended.
>>
>
>

<Prev in Thread] Current Thread [Next in Thread>