On Sat, 2006-03-18 at 04:49 +0000, S Yuan wrote: > For the following code, some complilers write out 1.0 and some write out > 0.0 for op(1:3,1:3,1). Which one is correct, or standard conforming? Both, I suppose. The real problem is that your code is illegal. The dummy arguments A and B are associated with the same actual argument and in this case is illegal to redefine either A or B (see 5.7.2 in Fortran 95/2003 explained, e.g.). Incidentally, the differences you see are probably exposed by passing non-contiguous array sections when the dummy arguments are declared as (contiguous) explicit shape arrays; this requires copy-in/copy-out of the arguments. Regards, Neil