------- Comment #2 from dfranke at gcc dot gnu dot org  2007-03-01 16:58 -------
Tobias, I wouldn't expect gfortran to use memcpy if the array is not
continuous, as in your example. 

OTOH, my naive assumption is, that given "this = other", "this(:) = other(:)"
or even "this(a:b) = other(c:d)", it should, in general, be possible to handle
with memcopy, or memmove if this==other and a:b, c:d intersect, as long as the
array shapes are compatible. 

Since the finer details of fortran still elude me, is it possible at all that
in a statement as "this = other" were both shall be arrays of compatible shape,
either stride may not equal '1'?

> if(stride == 1)
> else
>   for(i = lbound; i <= ubound; i++) that[i] = this[i]
for(i = lbound; i <= ubound; i += stride) that[i] = this[i], probably?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31009

Reply via email to