------- Comment #24 from tobi at gcc dot gnu dot org 2009-08-14 22:38 ------- (In reply to comment #23)
That's sad. I'm guessing that everytime it enters one of the inner loops, it has to deal with the fact that the upper bound escaped. A way without all the copying would be to set the DO variable to upper bound+1 after the loop, but before the exit label. I have a patch in the pipeline which makes INTENT(IN) arguments const pointers, but that wouldn't suffice either. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31593