http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57522
--- Comment #4 from Paul Thomas <pault at gcc dot gnu.org> --- (In reply to Tobias Burnus from comment #3) > > print *, a .... > > I have not yet completely understood why, but the call > gfc_conv_expr_descriptor yields a unit stride. We have a choice here: (i) We use the 'span' variable that is used for pointers to some useful effect. Ideally, this should be accompanied by passing of the 'span' variable to pointer formal arguments in function calls. That way, even if kludgy we would have a full implementation of the F95(!) standard (see for example PR40737 + others that I cannot find right now); or (ii) That we attach 'span' to pointer array descriptors; or (iii) We recognised one the the ASSOCIATE todos, which is the make a temporary when needed and write the selector result to that temporary. This is also required for SELECT TYPE. Examples are where the selector is a function call. (ii)Would cause a diversion from the array descriptor reform but are we really in a position to implement that? Both Tobias and I are taken by daytime work for the foreseeable future. It certainly would be a clean way to proceed. (iii) Must be done sometime... soon. It could be used to fix this case using write-in/write-out but would not fix the F95 problems. I am prepared to make this my next gfortran job. I would suggest (i) or (ii) followed by (iii). Cheers Paul