[Patch, fortran] PR35780 - internal compiler error for complicated PARAMETER expressions
Tobias Burnus
burnus@net-b.de
Sat Apr 5 19:04:00 GMT 2008
Paul Richard Thomas wrote:
> I dropped working on WHERE PRs to do this because it was originally
> posted as a regression. In fact I do not think that it was but I have
> fixed it anyway:)
>
Well, I think Dick found a case which accidentally worked with the old
version; thus the underlying bug is not new and thus no regression. But
the failure for that specific case was working before (by chance) and in
this sense it is a regression. But - regression or not - thanks for
fixing this bug.
> Bootstrapped and regtested on x86_ia64/FC8 - OK for trunk and 4.3?
>
OK. However,
> Property changes on: gcc/testsuite/gfortran.dg/simplify_argN_1.f90
> ___________________________________________________________________
> Name: svn:executable
> + *
Do you really want to mark that file as executable?
> ! /* Find which, if any, arguments are arrays. Assume that the old
> ! expression carries the type information and that the first or
> ! second arg carries all the shape information.*/
> [...]
> ! for (; a; a = a->next)
You irritate me with "the first or second"; unless I misunderstood the
algorithm, you check simply all arguments until you find one which is an
array, be it the first, second or third argument. I would prefer
something like "that one arg carries all the shape information" or "that
the first array arg carries all the shape information" or ...
Anyway, the patch is OK.
Tobias
> 2008-04-05 Paul Thomas <pault@gcc.gnu.org>
>
> PR fortran/35780
> * expr.c (scalarize_intrinsic_call): Identify which argument is
> an array and use that as the template.
> (check_init_expr): Remove tests that first argument is an array
> in the call to scalarize_intrinsic_call.
>
> 2008-04-05 Paul Thomas <pault@gcc.gnu.org>
>
> PR fortran/35780
> * gfortran.dg/simplify_argN_1.f90: New test.
More information about the Fortran
mailing list