This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [Patch, fortran] PR 45745: [4.6 Regression] ICE in gfc_conv_array_stride
- From: Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>
- To: Mikael Morin <mikael dot morin at sfr dot fr>
- Cc: gfortran <fortran at gcc dot gnu dot org>, patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 23 Sep 2010 06:55:31 +0200
- Subject: Re: [Patch, fortran] PR 45745: [4.6 Regression] ICE in gfc_conv_array_stride
- References: <201009230011.40217.mikael.morin@sfr.fr>
Dear Mikael,
> As explained in the PR, while working on PR45648 I noticed the [ss->expr !=
> expr] condition was sufficient to distinguish elemental function calls, as
> claimed by a comment [/* Elemental function. ?*/]. Thus, I dropped the
> additional condition.
I did wonder about that but did not succeed in breaking it. Then I
became distracted by that stupidity over the loop exit condition :-(
>
> However, the code block was also supposed to be hit for (non-elemental) bounds
> intrinsics.
> This restores the additional [ || ss->type != GFC_SS_FUNCTION] condition which
> had been dropped.
OK
> I attach a -b version of the patch (read-only) and the normal one (write-
> only). The test is the reduced one, but I can put the original one (not much
> bigger) if someone prefer.
No, I think that the reduced test is fine.
> Regression tested on x86_64-unknown-freebsd8.0. OK for trunk ?
OK - thanks for responding so quickly.
It's ironic that it is the tidy-up rather than the fix for PR45648
that caused the regression.....
Cheers
Paul