------- Comment #28 from jv244 at cam dot ac dot uk 2009-08-15 07:53 ------- (In reply to comment #23)
> subroutine output(i1,i2,i3,i4,i5) > print '(5(I0,:" "))',i1,i2,i3,i4,i5 > end subroutine output [..] > if (p1 * p2 * p3 * p4 == value * 1000000) & > & call output(value,p1,p2,p3,p4) [..] > if (p1 * p2 * p3 * p4 == value * 1000000) & > & call output((value),(p1),(p2),(p3),(p4)) > still produces much better code. obviously this optimization is only allowed if the arguments of 'output' would be explicitly declared intent in (or the compiler nows this, e.g. because it is an intrinsic or e.g. a write statement). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31593