[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