[Bug fortran/50564] [4.7 Regression] Front-end optimization - ICE with FORALL
burnus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 29 13:10:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50564
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-09-29 12:44:16 UTC ---
The problem is that with front-end optimization, the forall body is changed
from:
timeSteps(iTime)=ratio**(dble(iTime)-0.5d0)-ratio**(dble(iTime)-1.5d0)
which is a simple assignment (EXEC_ASSIGN) to a block of the form
block
tmp = dble(iTime)
timeSteps(iTime)=ratio**(tmp-0.5) - ratio**(tmp-1.5)
end block
or something similar (in any case it is an EXEC_BLOCK); however,
gfc_trans_forall_1 only handles: EXEC_ASSIGN, EXEC_WHERE, EXEC_POINTER_ASSIGN,
EXEC_FORALL and EXEC_ASSIGN_CALL.
That matches F2008 (cf. below), though one could allow BLOCK internally.
R756 forall-body-construct is forall-assignment-stmt
or where-stmt
or where-construct
or forall-construct
or forall-stmt
R757 forall-assignment-stmt is assignment-stmt
or pointer-assignment-stmt
More information about the Gcc-bugs
mailing list