[Bug fortran/35759] WHERE with overlap with ELSEWHERE error
pault at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Mar 30 12:41:00 GMT 2008
------- Comment #2 from pault at gcc dot gnu dot org 2008-03-30 12:40 -------
This one should be straightforward, if lengthy to correct:
gfc_trans_where_2 is completely correct, as can be verified by doubling up the
line making the assignment in the WHERE block. ie:
WHERE (LDA) ! expected
UDA1L(1:5) = UDA1R(2:6) ! uda1l = 2,0,4,0,6,0
UDA1L(1:5) = UDA1R(2:6) ! uda1l = 2,0,4,0,6,0
ELSEWHERE
UDA1L(2:6) = UDA1R(6:2:-1) !uda1l = 2,0,5,0,3,0
ENDWHERE
gfc_trans_where_3 is selected for a simple WHERE/ELSEWHERE, with no
dependencies and a single assignment expression in each block. This is
selected by Dick's testscase. It is also wrong, as indicated by Tobias in #1!
gfc_trans_where_3 will have to be split into two loops, instead of a single
loop with an expression.
Cheers
Paul
--
pault at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |pault at gcc dot gnu dot org
|dot org |
Status|NEW |ASSIGNED
Last reconfirmed|2008-03-29 23:23:44 |2008-03-30 12:40:39
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35759
More information about the Gcc-bugs
mailing list