------- Comment #9 from tobi at gcc dot gnu dot org 2009-08-12 20:52 -------
Side remark:
DO i = 1,10
call bar(i)
END DO
wouldn't be valid if bar changed its argument, i.e. the compiler should
generate the same, better code it does for the case where you copy the argument
(bar((i))).
I was worrying about the case where a whole array is passed as an argument, for
a contrived example say:
DO I=1,1000
DO J=1,1000
a(i,j) = i*j
PRINT *, a ! don't want to copy all of a here
END DO
END DO
The remark about OP_PARENTHESES was more about a clean implementation.
Implementing this via OP_PARENTHESES would likely only be a few lines here and
there, but it would be hackish as it would be workign around a deficiency
further down.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31593