[Patch, fortran] PR35759 - WHERE with overlap with ELSEWHERE error
Paul Richard Thomas
paul.richard.thomas@gmail.com
Tue Apr 1 05:30:00 GMT 2008
Dominique,
Thank you for being stubborn!
On Mon, Mar 31, 2008 at 11:38 PM, Dominique Dhumieres
<dominiq@lps.ens.fr> wrote:
> Paul,
>
> Since I am very stuborn, I tried the following test:
>
> logical :: la(6) = (/(2*(i/2) /= i, i = 1, 6)/), lb(6)
> lb = la
> print *, la
> where(la)
> la = .false.
> elsewhere
> la = .true.
> end where
> print *, la
> if (any(la .eqv. lb)) call abort()
> end
>
> ifort, gfortran 4.3, and g95 give:
>
> T F T F T F
> F T F T F T
>
> with your patch, I get:
>
> T F T F T F
> T T T T T T
> Abort
>
> Dominique
>
Since there are problems with allocatable components, another of
Dick's recent PRs (35745) breaks all manifestations of WHERE and now
this, I'll retire to a safe distance for a while and do a proper job
of it.
Many thanks
Paul
More information about the Fortran
mailing list