===================================================================
@@ -1,3 +1,8 @@
+2014-05-11 Tobias Burnus <burnus@net-b.de>
+
+ * caf/single.c (_gfortran_caf_get_desc,
+ _gfortran_caf_send_desc): Fix stride calculation.
+
2014-04-20 Tobias Burnus <burnus@net-b.de>
* caf/libcaf.h (_gfortran_caf_co_sum, _gfortran_caf_co_min,
===================================================================
@@ -214,7 +214,7 @@ _gfortran_caf_get_desc (caf_token_t token, size_t
extent = (src->dim[j]._ubound - src->dim[j].lower_bound + 1);
stride = src->dim[j]._stride;
}
- array_offset_sr += (i / extent) * dest->dim[rank-1]._stride;
+ array_offset_sr += (i / extent) * src->dim[rank-1]._stride;
void *sr = (void *)((char *) TOKEN (token) + offset
+ array_offset_sr*GFC_DESCRIPTOR_SIZE (src));
@@ -290,7 +290,7 @@ _gfortran_caf_send_desc (caf_token_t token, size_t
extent = (src->dim[j]._ubound - src->dim[j].lower_bound + 1);
stride = src->dim[j]._stride;
}
- array_offset_sr += (i / extent) * dest->dim[rank-1]._stride;
+ array_offset_sr += (i / extent) * src->dim[rank-1]._stride;
void *dst = (void *)((char *) TOKEN (token) + offset
+ array_offset_dst*GFC_DESCRIPTOR_SIZE (dest));