------- Comment #40 from tobi at gcc dot gnu dot org 2009-08-17 22:08 ------- Created an attachment (id=18392) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18392&action=view) Patch for savin function arguments
This patch copies do loops which are passed as actual arguments to a temporary variable and then passes the temporary. The patch creates one copy for every single call, so this could be done better. Also, the naming is not finalized. Finally, this would need someone who is more familiar with the scalarizer's workings to make sure that it doesn't break anything. I'm actually surprised that the patch passes the testsuite. I don't plan to submit this, because Michael Matz is apparently working on something better, that would at least make part of this patch superfluous. See <http://gcc.gnu.org/ml/fortran/2009-08/msg00200.html>. If his patch goes in, the part that creates the copy could be dropped and instead the function argument could be properly labeled read-only. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31593